2012-09-26 51 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