【发布时间】:2016-08-19 19:21:06
【问题描述】:
我正在使用 postgres 运行 django,我需要从表中查询一些记录,按等级对它们进行排序,并获得关于外键的唯一条目。
基本上我的模型是这样的:
class BookingCatalog(models.Model):
.......
boat = models.ForeignKey(Boat, verbose_name=u"Boat", related_name="booking_catalog")
is_skippered = models.BooleanField(u'Is Skippered',choices=SKIPPER_CHOICE, default=False)
rank = models.IntegerField(u"Rank", default=0, db_index=True)
.......
这个想法是运行这样的东西
BookingCatalog.objects.filter (...).order_by ('-rank', 'boat', 'is_skippered').distinct ('boat')
不幸的是,这不起作用,因为我使用的是引发此异常的 postgres:
SELECT DISTINCT ON 表达式必须匹配初始 ORDER BY 表达式
我应该怎么做?
【问题讨论】:
标签: django postgresql django-models