我正在用postgres運行django,我需要從表中查詢一些記錄,按排名排序它們,並獲得有關外鍵的唯一條目。django + postgres並選擇不同
基本上我的模式是這樣的:
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表達式匹配
我應該怎麼做呢?