나는 프리 페치 객체프리 페치 객체와 슬라이스
def get_queryset(self):
qs = super().get_queryset()
return qs.prefetch_related(
Prefetch('products', queryset=Product.objects.order_by('-updated_at', '-created_at')[:3]))
내부 조각을 할 노력하고있어하지만 나는 다음과 같은 오류가 :
Cannot filter a query once a slice has been taken.
나는 그것에 대해 다음과 같은 게시물을 발견 : prefetch_related with limit 하지만 솔루션, 내 경우에는 작동하지 않습니다 timedelta 당신은 당신이 얼마나 많은지 모르겠 사용합니다. 솔루션을 사용하여 윈도우가
또한 문제는 3 년 이상 오래된, 그래서 추적기에서 일부 솔루션은, 장고에 변경이 발생한 그 사이에, (다중 데이터베이스를 지원 뭔가)
희망 :
Prefetch(
'post_set',
queryset=
Post.objects
.annotate(_rank=Window(Rank(), partition_by='category')
.filter(_rank__lte=3)
)
하지만 PostgreSQL 외에 Window 지원을 알지 못하고 순위를 찾지 못했습니다.
나는 여분의 도움이 필요하면 고려하고 있습니다.
현재 지원되지 않습니다. https://code.djangoproject.com/ticket/26780 – solarissmoke