【发布时间】:2021-11-26 07:44:58
【问题描述】:
我想使用模型 GroupUser 中的“is_favorite”布尔字段对组进行排序。我有两个模型 GroupUser,其中有一个 Group 模型的外键,现在当我查询 Group.objects.filter(is_active=True).order_by('groupuser__group_id__is_favorite')
我多次获得团体。我尝试在最终查询集上使用 distict() 仍然没有运气。请提出任何其他方式或可能的解决方案。 TIA。
class Group(models.Model):
group_name = models.CharField(
max_length=250)
context_type = models.ForeignKey(
"contenttypes.ContentType",
on_delete=models.DO_NOTHING,
blank=True,
null=True,
related_name="content_type")
context = models.IntegerField(
blank=True,
null=True)
privacy_type = models.ForeignKey(
"commans.PrivacyType",
on_delete=models.DO_NOTHING,
blank=True,
null=True,
related_name="group_privacy_id")
is_active = models.BooleanField(
default=True,
help_text="Is Group Active")
class GroupUser(models.Model):
group = models.ForeignKey(
"Group",
on_delete=models.DO_NOTHING,
blank=True,
null=True,
related_name="groupuser_group_id")
user=models.ForeignKey(
"auth_module.User",
on_delete=models.DO_NOTHING,
blank=True,
null=True)
is_favorite = models.BooleanField(
default=False,
blank=True,
null=True)
```
【问题讨论】:
-
您能否在问题中包含模型。您使用的是哪个数据库?
-
@Iain Shelvington:是的,已更新
标签: django orm django-queryset