gpt4 book ai didi

mysql - Django 对多个字段进行左连接查询

转载 作者:行者123 更新时间:2023-11-29 22:58:13 24 4
gpt4 key购买 nike

我定义了如下三个模型

class City(models.Model):
city_name = models.CharField(...)

class Restaurant(models.Model):
restaurant_name = models.CharField(...)
city = models.ManyToManyFields(City)

class MenuItemCount(models.Model):
restaurant = models.ForeignKey(Restaurant)
city = models.ForeignKey(City)
menu_count = models.IntegerField()

需要注意的是,MenuCount 中可能不存在所有餐厅和城市。因此需要左连接。

我正在尝试编写 django 查询来检索餐厅名称、城市名称和菜单计数的列表。示例结果将是

restaurant1, city1, 20
restaurant1, city2, None
restaurant2, city2, 30
restaurant3, city1, None

我如何为此编写查询?

最佳答案

如果您想在 1 个查询中获取所有数据,可以使用 prefetch_lated。可以查看文档here 。这是示例。

City.objects.prefetch_related('restaurant_set', 'menuitemcount_set').all()

关于mysql - Django 对多个字段进行左连接查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28629338/

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