Как мне получить доступ к атрибутам модели в Django? - PullRequest
0 голосов
/ 04 мая 2020

Я пытаюсь показать пользователям варианты продукта, которые они выбрали. Пока код работает и сохраняет изменения в базе данных, я не могу показать их на своей странице html. Только : отображается. В чем проблема? Это то, как я это называю неправильно? Вот что я пробовал:

Мои модели.py:

class Variation(models.Model):
    item = models.ForeignKey(Item, on_delete=models.CASCADE, null=True, blank=True)
    variation_type = models.CharField(max_length=120, choices=VAR_TYPES, default='Size')
    title = models.CharField(max_length=120, null=True, blank=True)
    price = models.FloatField(null=True, blank=True)
    is_available = models.BooleanField(default=True)

    objects = VariationManager()

class OrderItem(models.Model):
    user = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE)
    item  = models.ForeignKey(Item, on_delete=models.CASCADE)
    variation = models.ManyToManyField(Variation)
    quantity = models.IntegerField(default=1)
    ordered = models.BooleanField(default=False)

class Order(models.Model):
    user = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE)
    ref_code = models.CharField(max_length=20)
    ordered = models.BooleanField(default=False)
    items = models.ManyToManyField(OrderItem)
    variation = models.ManyToManyField(Variation)

Мой заказ_суммария. html:


{% for order_item in object.items.all %}
  <tbody>
    <tr>
      <th scope="row" class="border-0">
        <div class="p-2">
          <img src="{{ order_item.item.image_url }}" alt="" width="70" class="img-fluid rounded shadow-sm">
            <div class="ml-3 d-inline-block align-middle">
              <h5 class="mb-0"> <a href="{{ order_item.item.get_absolute_url }}" class="text-dark d-inline-block align-middle">{{ order_item.item.title }}</a>
              {% if order_item.variation %}
               <ul>
                 <h6>{{ order_item.variation.variation_type }} : {{ order_item.variation.title }}</h6>
               </ul>
             {% endif %}
            </div>
          </div>
       </th>

Мои просмотры.py:

class OrderSummaryView(LoginRequiredMixin, View):
    def get(self, *args, **kwargs):
        try:
            order = Order.objects.get(user=self.request.user, ordered=False)
            context = {
                'object': order
            }
            return render(self.request, 'orders/order_summary.html', context)

        except ObjectDoesNotExist:
            messages.warning(self.request, "You do not have an active order")
            return redirect("/")

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...