Django - Django не возвращает все сущности из таблицы при вызове GET
У меня есть эта функция get
def get(self, request):
items = Post.objects.order_by('created').annotate(
creator_name=F('creator_id__username'),
goal_description=F('goal_id__description'),
replies=Count('replypost', distinct=True),
cheers=Count('cheerpost', distinct=True),
).prefetch_related(
Prefetch('photo_set', Photo.objects.order_by('created'))
)
serializer = FullPostDataSerializer(items, many=True)
return Response(serializer.data, status=status.HTTP_200_OK)
По идее, он должен возвращать все сообщения, упорядоченные по времени, но по какой-то причине, когда я отлаживаю и возвращаю serializer.data
, все, что я получаю на внешнем интерфейсе, это:
Но когда я использую PGAdmin, чтобы посмотреть на таблицу
Вы можете ясно видеть, что есть более свежие сообщения, чем 13 сентября. Что происходит?
Вы заказываете Prefetch фотографий, но не заказываете QuerySet объектов Post.
Попытка:
items = Post.objects.order_by('created').annotate(
...
).prefetch_related(
...
).order_by('-created')