【发布时间】:2018-03-30 18:01:12
【问题描述】:
我需要在 django 中进行条件排序,但不知道该怎么做。
我有两个模型:User 和 Post。 Post 模型有 seen_users = ManyToManyField(User) 字段。
我想获取所有帖子,但我看到的帖子应该是第一个。
我已尝试使用此代码:
Post.objects.all().annotate(
is_seen=Case(
When(seen_users__id__exact=me.id, then=1),
default=0,
output_field=IntegerField()
)
).order_by('-is_seen', '-created')
但是这个返回重复的帖子。我尝试添加distinct,但没有成功。
【问题讨论】:
标签: python sql django postgresql many-to-many