Как решить проблему Django N+1, когда нужно получить данные из набора объектов
Я создал функцию и написал запрос, в результате которого получается N+1 Проблема, как ее решить
код
sponsors = CustomUser.objects.filter(user_type = 2, is_deleted = False)
for s in sponsors:
s.sponsor_detail = Sponsor.objects.get_or_create(user = s, is_deleted = False)
Было бы хорошо, если бы вы включили модели, но я полагаю, что sponsor_details
является ForeignKey. В этом случае вы должны использовать select_related
:
sponsors = (CustomUser.objects
.filter(user_type = 2, is_deleted = False)
.select_related('sponsor_detail'))