При использовании выражения F для доступа к полю из отношения "один ко многим" не используется набор запросов, полученный в результате метода prefetch_related
эй, ребята, допустим, у меня есть эти модели
class Object1:
.....
class Object2:
user = models.ForeignKey(User)
rel = models.ForeignKey(Object1, related_name = 'objects')
isCOmpleted = models.BooleanField()
и я хотел выполнить такой запрос:
Object1.objects.all().prefetch_related(Prefetch('objects', Object2.objects.filter(user = specific_user))).annotate(is_completed=F('objects__isCompleted'))
и пользователь связан только с одним объектом из Object2
, но я получил дубликаты объектов в моем запросе, и я знаю, что причина в том, что у меня есть два объекта из Object2 в моей базе данных для двух разных пользователей, но проблема в том, что выражение F
не было найдено в моем запросе с использованием prefetch_query
, я попробовал то же самое в оболочке и это дает мне результаты, которые я ожидал, но не в представлении, так в чем же здесь проблема, любая помощь будет очень признательна