I zwei Tabellen in meiner Datenbank, die für dieses Problem relevant sind:Django Ansicht Daten aus zwei Modellen in einer einzigen Abfrage zu holen
exercise_state mit folgenden Feldern:
| id | intensity_level | progress | exercise_id | user_id | current_date | user_rating |
auth_user mit folgenden Feldern:
| id | password | last_login | is_superuser | username | first_name | last_name | email | is_staff | is_active | date_joined |
Im Moment bin ich einige Daten aus meiner Sicht zu holen wie folgt:
def get_specific_exercise_finish_count(request, exerciseId):
# Number of users who completed a specific exercise
specific_exercise_finish_count = Exercise_state.objects.filter(exercise_id=exerciseId, intensity_level=7).count()
data = {}
data['count'] = specific_exercise_finish_count
return JSONResponse(data)
Jetzt möchte ich diese Ergebnisse weiter für bestimmte Gruppe von Benutzernamen, dh filtern, Nutzernamen, diese beginnt mit ‚yg_‘ (Ich habe zwei Sätze von Benutzernamen registriert In meinem System beginnt eine Gruppe mit 'yg' und die andere mit 'yg_'. Da der Benutzername kein Feld exercise_state ist, bin ich mir nicht sicher, wie es weitergehen soll.
Wie kann ich das erreichen?
Mögliches Duplikat [Django Filterobjekte] (http://stackoverflow.com/questions/39244058/django- Filter-Objekte) – Sayse
Es war meine Frage, das ist richtig. Aber ich hole Daten direkt aus der Benutzertabelle mit dem Feld 'Benutzername'. Hier ist es mehr wie Kreuztabellenabfrage. – Nitish
Ah richtig, nach dem Aussehen der Abfrage, die Sie hier gezeigt haben, gibt es keine Beziehung zwischen den Modellen. Sie sollten das wie in den Dokumenten ändern, dann wird Ihre Frage trivial – Sayse