如何优先考虑用户?

时间:2017-01-17 23:48:07

标签: django django-models django-queryset priority-queue

我的用户数据库表包含status (Int field)timestamppriority_flag (Int field)字段。我使用以下查询来确定用户的优先级。

users = User.objects.filter(status=status).order_by('priority_flag', 'timestamp')

如果用户具有高priority_flag,则该用户应首先响应该查询。例如,有2个用户。

Bob = [priority_flag=Standard, timestamp=datetime.datetime(2007, 2, 17, 23, 42, 31, 584349, tzinfo=<UTC>)]

Alice = [priority_flag=Emergency, timestamp=datetime.datetime(2017, 1, 17, 23, 42, 31, 584349, tzinfo=<UTC>)]

即使用户Alice是在10年后创建的,但她的优先级高于Bob。它应该首先回应。 我在这做错了什么?谢谢!

1 个答案:

答案 0 :(得分:0)

如果您想按降序排列priority_flag,请使用'-priority_flag'

users = User.objects.filter(status=status).order_by('-priority_flag', 'timestamp')