django - Django ORM:带有简单“分组依据”的查询集
问题描述
我正在尝试使用 django ORM 制作这个简单的“group by”表达式,但我不确定它会如何:
SELECT id, title, hotel_id, booking_id, day_number
FROM `bookings_booking_item`
where hotel_id IS NOT NULL AND booking_id=xxx
group by booking_id, hotel_id
ORDER BY id asc
我想要实现的是每次预订和酒店只获得一个(第一个)“项目”结果。
这是我的模型外观的概述:
class Hotel(models.Model):
name = models.CharField(u'Name', max_length=40)
...
class Booking(models.Model):
reference = models.CharField(u'Reference', max_length=50)
...
class BookingItem(models.Model):
booking = models.ForeignKey(Booking, related_name='items', related_query_name='item')
hotel = models.ForeignKey(Hotel, related_name='items', related_query_name='item')
...
有人可以帮我吗?
谢谢!
解决方案
推荐阅读
- django - 有没有办法在 Django 模型的查询集中隐藏对象?
- php - 经过身份验证的网页(通过 php/html + .htaccess)看不到其他目录(css、JavaScript、图像等)中的资产
- c++ - C++:编译全局数组的时间
- javascript - 将 fadeOut() 限制为每秒 3 步
- bash - bash相对路径到绝对路径
- angular - 组件scss文件导入样式scss文件时,Angular组件的样式视图封装不起作用
- c++ - CS50 - C++:“使用命名空间标准;”的问题
- amazon-web-services - AWS 无服务器身份池角色附件
- python - 我的代码返回 HTTP 错误 403:禁止
- r - R中行级别连续零的复杂数据计算(滞后v / s领先)