Ответы пользователя по тегу ORM
  • Не работает prefetch_related в django?

    timofeydeys
    @timofeydeys
    Свобода творцов
    def post_list(request):
        clients = Client.objects.prefetch_related('contacts').all()
        return render(request, 'blog/post_list.html', {'clients': clients})


    Надо так))
    def post_list(request):
        clients = Client.objects.all().prefetch_related('contacts')
        return render(request, 'blog/post_list.html', {'clients': clients})


    А если ты хочешь вложенный запрос сделать, по определенному queryset, тогда так:

    from django.db.models import Prefetch
    
    def post_list(request):
        clients = Client.objects.all().prefetch_related(Prefetch('contacts', queryset=Contanct.objects.all()))  # В Queryset скармливаешь просто queryset и делается вложенный запрос.
        return render(request, 'blog/post_list.html', {'clients': clients})
    Ответ написан
    Комментировать
  • Django ORM. Почему при создании миграций появляется ошибка OperationalError: no such table?

    timofeydeys
    @timofeydeys
    Свобода творцов
    Потому что при простом python manage.py makemigrations полностью поднимается окружение с сетингами. А т.к. forms.py где то импортиться, то джанга при старте его видит, а в БД таблику не видит. Потому и ошибка.
    Надо сначала писать модельки, потом миграции, потом все остальное. Либо Пока не сделаны миграции, не обращаться к БД. Ты своей AreasWork.objects.all() формируешь запрос к БД, вот и все.
    Ответ написан
    Комментировать