Django 'dict' - Objekt hat kein Attribut 'user_id'
Bekomme ich die folgende Fehlermeldung 'dict' - Objekt hat kein Attribut 'user_id' aber nicht sicher, ich verstehe den Fehler. Da user_id ist von den queryset.
Fehler tritt in der letzten Zeile des Codes
users_who_played = UserEvent.objects\
.values('user_id')\
.annotate(total_season_points=Sum('points'))\
.filter(event__season_id=season.id)\
.order_by('-total_season_points')\
for i, user_who_played in enumerate(users_who_played):
try:
user = UserSeason.objects.
get(user=user_who_played.user_id, season=season.id)
InformationsquelleAutor Yannick | 2014-09-02
Du musst angemeldet sein, um einen Kommentar abzugeben.
Die
.Werte()
- Methode auf querysets gibt ein queryset zurückgegeben Wörterbücher anstelle der Modell-Objekte beim Durchlaufen es -- souser_who_played
ist ein dict, das heißt, Sie sollten den Zugriff auf die Benutzer-id durch das schreibenuser_who_played['user_id']
anstelle der Verwendung von dot-Attribut-syntax.Wenn Sie abrufen möchten, und nur bestimmte Felder aus der Datenbank, aber immer noch wollen, um Angebot mit Modell-Objekte, eine alternative ist die Nutzung die
.nur()
Methode statt.values()
.InformationsquelleAutor Ismail Badawi