Wie die Rückkehr mehrere Objekte im Zusammenhang mit ForeignKey in Django
Habe ich Folgendes in meiner models.py:
class HostData(models.Model):
Manager = models.ForeignKey(Managers)
Host = models.CharField(max_length=50, null=True)
HostStatus = models.CharField(max_length=200, null=True)
Cpu = models.PositiveIntegerField(max_length=10, null=True)
Disk = models.FloatField(null=True)
Ich möchte wieder die Abfrage für Objekte in Zusammenhang mit einem gewissen "Manager". Das problem ist, dass die Benutzer können hinzufügen/löschen Sie so viele Manager wie er will. Also mein Erster Gedanke war in meinem views.py so etwas wie dieses:
def get_data(request):
for server in Managers.objects.all():
host_data = HostData.objects.filter(Manager=server)
# Lost after this :(
return render_to_response('mypage.html', {'first_set': host_data1, 'second_set': host_data2})
So, wie kann ich wieder mehrere Objekte? Wie, wenn der Benutzer fügt eine weitere "Manager" ich werde einem Dritten Satz in meinem views.py.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie die Abfrage auf Verwandte Objekte etwa so:
In Ihre Vorlage können Sie auch nur Zugriff auf die
hostdata_set
direkt:Ich glaube, das ist das, was Sie für Fragen.
Übrigens, wenn Ihr
Managers
Modell speichert Daten über eine einzelne "Manager", können Sie es nützlich finden, ändern Sie den Namen im singularManager
.Es scheint, dass Sie wollen, zu Fragen, die HostData, um alle Objekte zurückzugeben, die im Zusammenhang mit einem bestimmten Manager. Wenn ja, dann sollten Sie wissen, ein einzigartiges Stück von Informationen über die bestimmte Manager, die Sie suchen.
Um des Argumentes Willen, nehmen wir an, der Leiter von "id" wird als Primärschlüssel und daher einzigartig, und wir sind auf der Suche für eine id = 5.
Denke ich (vielleicht??) Sie sind auf der Suche nach sowas...
Dann können Sie looping-innerhalb der Ansicht?
Ich bin mir nicht ganz sicher, ob das funktionieren wird, aber lassen Sie mich wissen, wenn es hilft.
Fügen Sie einfach die host-Daten-sets dinamically, um die Vorlage Kontext:
Dann in Ihre Vorlage können Sie iterieren über die Daten-sets: