• Members 4 сообщения
    24 июня 2021 г. 15:47

    Второй день не могу найти проблему и решить еёЖ

    Environment:
    
    
    Request Method: GET
    Request URL: http://localhost:8000/
    
    Django Version: 3.2.4
    Python Version: 3.8.8
    Installed Applications:
    ['django.contrib.admin',
     'django.contrib.auth',
     'django.contrib.contenttypes',
     'django.contrib.sessions',
     'django.contrib.messages',
     'django.contrib.staticfiles',
     'mainapp']
    Installed Middleware:
    ['django.middleware.security.SecurityMiddleware',
     'django.contrib.sessions.middleware.SessionMiddleware',
     'django.middleware.common.CommonMiddleware',
     'django.middleware.csrf.CsrfViewMiddleware',
     'django.contrib.auth.middleware.AuthenticationMiddleware',
     'django.contrib.messages.middleware.MessageMiddleware',
     'django.middleware.clickjacking.XFrameOptionsMiddleware']
    
    
    
    Traceback (most recent call last):
      File "C:\shop\env\lib\site-packages\django\db\models\query.py", line 1106, in _annotate
        if arg.default_alias in kwargs:
      File "C:\shop\env\lib\site-packages\django\db\models\aggregates.py", line 65, in default_alias
        raise TypeError("Complex expressions require an alias")
    
    During handling of the above exception (Complex expressions require an alias), another exception occurred:
      File "C:\shop\env\lib\site-packages\django\core\handlers\exception.py", line 47, in inner
        response = get_response(request)
      File "C:\shop\env\lib\site-packages\django\core\handlers\base.py", line 181, in _get_response
        response = wrapped_callback(request, *callback_args, **callback_kwargs)
      File "C:\shop\env\lib\site-packages\django\views\generic\base.py", line 70, in view
        return self.dispatch(request, *args, **kwargs)
      File "C:\shop\shop\mainapp\mixins.py", line 40, in dispatch
        return super().dispatch(request, *args, **kwargs)
      File "C:\shop\env\lib\site-packages\django\views\generic\base.py", line 98, in dispatch
        return handler(request, *args, **kwargs)
      File "C:\shop\shop\mainapp\views.py", line 14, in get
        categories=Category.objects.get_categories_for_left_sidebar()
      File "C:\shop\shop\mainapp\models.py", line 64, in get_categories_for_left_sidebar
        qs = list(self.get_queryset().annotate(*models))
      File "C:\shop\env\lib\site-packages\django\db\models\query.py", line 1091, in annotate
        return self._annotate(args, kwargs, select=True)
      File "C:\shop\env\lib\site-packages\django\db\models\query.py", line 1111, in _annotate
        raise TypeError("Complex annotations require an alias")
    
    Exception Type: TypeError at /
    Exception Value: Complex annotations require an alias
    

    Прошу прощения, если неверно скопировал саму ошибку. Я новичок в этом деле

  • Members 1 сообщение
    24 июня 2021 г. 19:40

    qs = list(self.get_queryset().annotate(*models)) а где у вас метод values() и что у вас находится в models перед тем как передать в annotate()?

  • Members 4 сообщения
    25 июня 2021 г. 8:39

    вот код исходника с githab
    def get_categories_for_left_sidebar(self):
    models = get_models_for_count('notebook', 'smartphone')
    qs = list(self.get_queryset().annotate(*models))
    data = [
    dict(name=c.name, url=c.get_absolute_url(), count=getattr(c, self.CATEGORY_NAME_COUNT_NAME[c.name]))
    for c in qs
    ]
    return data
    реально не хватает знаний(((

  • Members 4 сообщения
    29 июня 2021 г. 9:08

    Помогите плиз, застрял и не могу дальше продвинуться

  • Team
    29 июня 2021 г. 9:59