Здравствуйте! Надеюсь на вашу помощь.
Есть сайт для посуточной аренды. Делаю страницу для сотрудников, где отображаются заказы.
В шаблоне:
{% for order in order_list %}
<p>Дата заказа: {{ order.timestamp }}</p>
<p>Юзер: {{ order.user.email }}</p>
{% for item in order.cart.items.all %}
<li>{{ item.get_title }} <b>{{ item.rentdate_set.get_cart_dates }}</b></li>
{% endfor %}
{% endfor %}
У каждого item в корзине, есть даты на которые его арендуют.
Хочу вывести даты отфильтрованные по корзине.Для этого для модели RentDate я написал метод в Model.Manager
get_cart_dates:
class RentDateManager(models.Manager):
...
def all(self, *args, **kwargs):
return self.get_queryset()
def get_cart_dates(self, instance):
cart_dates = self.get_queryset().filter(cart=instance.cart)
return cart_dates
class RentDate(models.Model):
startCar = models.DateField(blank=True, null=True)
endCar = models.DateField(blank=True, null=True)
user = models.ForeignKey(settings.AUTH_USER_MODEL, null=True, blank=True)
variation = models.ForeignKey('Variation', null=True, blank=True)
cart = models.ForeignKey(Cart, null=True, blank=True)
objects = RentDateManager()
Такое view:
class StaffOrderList(StaffRequiredMixin, ListView):
model = Order
queryset = Order.objects.all()
template_name = "staff_order_list.html"
def get_queryset(self):
queryset = super(StaffOrderList, self).get_queryset().order_by('-timestamp')
return queryset
def get_context_data(self, *args, **kwargs):
context = super(StaffOrderList, self).get_context_data(*args, **kwargs)
return context
Тут я понял, что абсолютно не знаю как собственно передать instance из шаблона(или вызвать из другого места). Такие вещи получались в DetailView, но в ListView я застрял.
Заранее благодарен за любую помощь.