0

我将 Django 1.4 与 MySQL 一起使用。我有以下型号:

Event:
    title = CharField()
    description = CharField()


Dates:
   event = ForeignKey(Event)
   location = ForeignKey(Location)
   date = DateTimeField()
   participants = IntegerField()

Location:
   ........

我需要为参加人数大于 X 的每个活动(和地点)选择第一个可用日期

在 MySQL 查询中,它只是 Date 表上的一个选择,其中包含按事件分组的事件和位置的连接。但这在 Django 中是不可能的,并且 MySQL 不支持 distinct("field")

谢谢

4

1 回答 1

0

如下:

event_dates = Dates.objects.filter(participants__gte=200
    ).values('event').annotate(Max('date'))

这将转化为 MYSQL

SELECT MAX(date) FROM dates GROUP BY event WHERE participants > 200;

然后你可以访问它

for event_date in event_dates:
    print event_date.0
于 2013-02-23T01:30:27.010 回答