2012-09-26 49 views
0

我正在使用Django 1.4与MySQL。我有以下型号:Django模型分组相关

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


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

Location: 
    ........ 

,我需要选择每个事件的第一个可用的日期(和地点),其中的参与者数量比X大

在MySQL查询它只是在日期一选择带事件和位置按事件分组的连接表。但是,这不是在Django可能和不同的(“田”)没有被MySQL

支持

谢谢

回答

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