ich eine Detailansicht mit einem Modell Raum haben, in get_context_data Methode, die ich zu meinem Kontext eine andere queryset von Objekten aus dem zweiten Modell hinzu:Wie kann ich eine Liste von Kontext in meiner django Vorlage abrufen
class RoomView(DetailView):
template_name = 'detail.html'
model = Room
context_object_name = "room"
def get_object(self):
object = super(RoomView, self).get_object()
if not self.request.user.is_authenticated():
raise Http404
return object
def get_context_data(self, **kwargs):
context = super(RoomView, self).get_context_data(**kwargs)
context['workers'] = Worker.objects.all()
print context
return context
Worker Context wie folgt aussieht:
{'workers': [<Worker: Michael Shchur, Backend>, <Worker: Toto Kutunyo, Backend>], u'object': <Room: Backend, id=1>, 'room': <Room: Backend, id=1>, u'view': <map.views.RoomView object at 0x7f257811dc10>}
Aber ich `t Zugriff auf diese Liste von Objekten mit zugesetztem {{room.workers}} oder
{% for worker in room.workers %}
<tr>
<td>{{worker.id}}</td>
<td>{{worker.first_name}}</td>
<td>{{worker.last_name}}</td>
<td>{{worker.email}}</td>
</tr>
{% endfor %}.
Bitte um Rat mich kann ich es tun.
Ok, das war schnell und es funktioniert. Danke vielmals. – kapitoshka
mit meinem Daumen abgestimmt, können Sie mir mit einer weiteren Frage helfen. Wie kann ich diese Worker in diesem get_context_data filtern, damit sie der Raumdetailansicht meiner geöffneten Seite entsprechen? Arbeiter hat ein Fremdschlüsselfeld von Room in model. @Baterson – kapitoshka
@kapitoshka Sie nicht woted :) nur die Antwort als gelöst und Daumen nach oben, so funktioniert SO. Über Filter, immer besser eine neue Frage stellen, es wird auch hilfreich für andere Leute. Aber Sie können 'filter' von queryset einfach wie folgt aufrufen:' room = self.get_object() ', dann' Worker.objects.filter (room = room) ', oder setzen Sie Ihren Namen auf den Filter, wenn' Foreighnkey' auf 'Room 'benannt anders –