gpt4 book ai didi

Django:涉及 OneToOneField 过滤器的相当复杂的查询?

转载 作者:行者123 更新时间:2023-12-04 06:34:24 26 4
gpt4 key购买 nike

谁能帮我处理一些相当复杂的 Django 查询?

这些是我的模型:

class County(models.Model):
name = models.CharField(max_length=100)
class Place:
id = models.IntegerField(primary_key=True)
county = models.ForeignKey(County)
class Translation(models.Model):
place = models.OneToOneField(Place,null=True)
county = models.ForeignKey(County) # Have denormalised for ease, but could delete this.
text = models.TextField()
user = models.ForeignKey(User, null=True, blank=True)
user_ip = models.IPAddressField()
created = models.DateField(auto_now_add=True)

如何运行以下查询?
  • 找到有多个翻译的用户,然后按翻译数量降序排列
  • 对于给定的县,查找没有相关翻译的地方
  • 对于给定的县,找到翻译最多的 5 个用户

  • 我应该更改数据库设置以使其更容易吗?

    谢谢!

    最佳答案

    User.objects.all().annotate(Count('translation')).order_by('-translation__count')

    County.place_set.filter(translation=None)

    User.objects.all().filter(
    translation__county__name="my_county"
    ).annotate(Count("translation")).order_by('-translation__count')[:5]

    关于Django:涉及 OneToOneField 过滤器的相当复杂的查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5010229/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com