2013-06-07 3 views
8

Ich versuche eine Abfrage zu erstellen, wo ich eine gefilterte Liste bekomme.django Schlüsselwort kann kein Ausdruck sein

Das Modell, das ich die Abfrage anzurufenden auf ist:

class WorkoutRecord(models.Model): 

    challenge = models.ForeignKey(Challenge) 

    workout_email_sent = models.DateTimeField(default=datetime.now) 

    status = models.IntegerField(default=1) 

Meine Frage ist:

L = WorkoutRecord.objects.filter(status = 1, challenge.user = request.user, workout_email_sent__lt = today) 

Die Fehlermeldung erhalte ich ist:

Stichwort kann‘ t ein Ausdruck sein

Ich weiß, das Problem ist auf der challenge.user = request.user Teil der Abfrage, aber ich bin mir nicht sicher, wie Sie die Abfrage schreiben, so dass es auf diese ForeignKey richtig filtert.

+0

Nur eine freundliche Beratung - http://www.python.org/dev/peps/pep-0008/ :-) –

Antwort

20

Verwendung __ Fremdschlüsselbeziehungen in einem queryset zu folgen:

L = WorkoutRecord.objects.filter(status=1, challenge__user=request.user, workout_email_sent__lt=today) 
+0

Perfect! Danke – bbrooke

+0

netter Fang @PeterDeGlopper – karthikr