views.pyDjango ORM stół dostępu użytkownika przez wielu modeli
Tworzę queryset który chcę serializacji i powrócić jako JSON. Queryset wygląda następująco:
all_objects = Program.objects.all()
test_data = serializers.serialize("json", all_objects, use_natural_keys=True)
ten cofa się wszystko z wyjątkiem modelu „User” (która jest połączona na dwóch modelach).
models.py
from django.db import models
from django.contrib.auth.models import User
class Time(models.Model):
user = models.ForeignKey(User)
...
class CostCode(models.Model):
program_name = models.TextField()
...
class Program(models.Model):
time = models.ForeignKey(Time)
program_select = models.ForeignKey(CostCode)
...
Pytanie
My powrócił danych ma czas, program i informacje CostCode, ale jestem w stanie do kwerendy z powrotem do stołu 'user'. Jak mogę odzyskać nazwę "użytkownika" (z tabeli użytkownika) w tym samym zapytaniu?
Uwaga: Zmieniono mój zestaw zapytań na all_objects = Time.objects.all()
, co powoduje pobranie informacji o użytkowniku, ale nie powoduje pobrania "kodu kosztu". Moje modele mają również ModelManagers, które zwracają get_by_natural_key
, więc odpowiednie pola pojawiają się w moim JSON.
Ostatecznie chcę, aby dane ze wszystkich czterech modeli pojawiały się w moich zserializowanych polach JSON, po prostu brakuje mi "nazwy użytkownika".
Oto obraz jak obiekt JSON obecnie pojawia się w Firebug:
Dzięki za wszelką pomoc!
Dzięki! Przetestowałem to i po prostu zweryfikowałem, że zadziałało. – Will