Python 保持链接顺序和查询集行为的同时链接查询集

Python 保持链接顺序和查询集行为的同时链接查询集,python,django,django-admin,itertools,django-1.5,Python,Django,Django Admin,Itertools,Django 1.5,我试图在保持查询集链接顺序的同时链接查询集 比如: def queryset(self, request): qs = super(EstateAdmin, self).queryset(request).exclude(display_status_id__name='offline') new_estates = qs.exclude(Q(purposes__purpose_id=BaseSearchBoxForm.TO_RENT_ID)).filter(Q(

我试图在保持查询集链接顺序的同时链接查询集

比如:

def queryset(self, request):
    qs = super(EstateAdmin, self).queryset(request).exclude(display_status_id__name='offline')
    new_estates = qs.exclude(Q(purposes__purpose_id=BaseSearchBoxForm.TO_RENT_ID)).filter(Q(
        create_date_time__gte=datetime.datetime.now() - datetime.timedelta(
            days=settings.IS_NEW_ESTATE_DELTA)))

    new_prices = qs.filter(Q(price_change_date_time__gte=datetime.datetime.now() - datetime.timedelta(
        days=settings.IS_NEW_PRICE_DELTA)))
    the_rest = qs
    return new_estates + new_prices + the_rest
我尝试使用itertools.chain,但它的行为不像查询集

其目的是自定义管理员更改列表查询集,以便将其分为三个类别。

试试看。然后你可以这样做:

from django.db.models import Q

good_products = Q(evaluation__lte=2)
average_products = Q(evaluation__lte=5) & good_products
the_rest = Q(evaluation__gte=5)

queryset = Product.objects.filter(good_products & average_products & the_rest)

你试过用“评估”来代替订单吗?这将为您提供所需的顺序,除非您的更改列表视图是自定义的。在后一种情况下,试着手动操作。没错,我的例子不好,更新了问题我想保持中国秩序