0

MySQLでDjango 1.4を使用しています。私は次のモデルを持っています:

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


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

Location:
   ........

参加者数が X より大きい各イベント (および場所) の最初の利用可能な日付を選択する必要があります

MySQLクエリでは、イベントとイベントごとにグループ化された場所の結合を持つ日付テーブルの選択にすぎません。しかし、これは Django では不可能であり、distinct("field") は MySQL ではサポートされていません

ありがとうございました

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 に答える