Ich muss in der Lage sein, alle Reservierungen anzeigen, die von dem authentifizierten Benutzer auf Vorlage vorgenommen werden. Ich benutze einen Model Manager, um die Methode get_queryset zu überschreiben, um die benötigten Eigenschaften zurückzugeben.Einträge anzeigen, die von authentifizierten Benutzer mit Model Manager
Dann verwenden Sie es als das Abfrage-Set in einer Ansicht, bevor Sie es an die Vorlage übergeben. Ich weiß nicht, was ich falsch machen könnte, als ich dem documentation on managers folgte.
models.py
class ReservationManager(models.Manager):
use_for_related_fields = True
def get_queryset(self):
return super(ReservationManager, self).get_queryset().filter(customer_name=User)
class Reservation(models.Model):
"""
this class will contain all information that concerns a car reservation
"""
customer_name = models.ForeignKey(User)
vehicle = models.ForeignKey(Car)
pickup_location = models.ForeignKey(Location)
drop_location = models.ForeignKey(Location, related_name='drop_location')
pickup_time = models.DateTimeField(blank=False)
drop_time = models.DateTimeField(blank=False)
reserved_on = models.DateTimeField(auto_now_add=True)
edited_on = models.DateTimeField(auto_now=True)
completed = models.BooleanField(default=False)
reservations = ReservationManager()
views.py
class ReservationsList(ListView):
`
Vorlage
Die Vorlage sollte alle Reservierungen durch den authentifizierten Benutzer gemacht anzuzeigen.
<tbody>
{% if user.is_authenticated %}
{% for reservation in reservations %}
<tr class="row1"><td class="action-checkbox"><input class="action-select" name="_selected_action" type="checkbox" value="2" /></td>
<th class="field-code white-text grey center">{{reservation.code}}</th>
<td class="field-customer_name nowrap">{{reservation.customer_name}}</td>
<td class="field-vehicle nowrap">{{reservation.vehicle}}</td>
<td class="field-pickup_location nowrap white-text grey center">{{reservation.pickup_location}}</td>
<td class="field-drop_location nowrap">{{reservation.drop_location}}</td>
<td class="field-pickup_time nowrap white-text grey center">{{reservation.pickup_time}}</td>
<td class="field-drop_time nowrap ">{{reservation.drop_time}}</td>
<td class="field-reserved_on white-text grey center nowrap">{{reservation.reserved_on}}</td>
</tr>
{% endfor %}
{% else %}
nothing
{% endif %}
</tbody>
Was mein Tun falsch sind?
Haben Sie versucht, eine Import-PDB zu importieren? pdb.set_trace() um zu sehen, was Reservierungen bringen? – jsanchezs