Невозможно распечатать значение моделей. ManyToManyField всегда возвращает None - PullRequest
1 голос
/ 13 июля 2020

Я пытаюсь напечатать значение ManyToManyField в шаблоне, но он всегда возвращает accounts.Product.None, я думаю, ManyToManyField возвращает список! но до сих пор не знаю, как его вывести

{{order.product}}

модели

class Product(models.Model):

name = models.CharField(max_length=200)
tags = models.ManyToManyField(Tags)

def __str__(self):
    return self.name




class Order(models.Model):
product = models.ManyToManyField(Product)
date_created = models.DateTimeField(auto_now_add=True)

просмотр

def home(request):
products = Product.objects.all()
orders = Order.objects.all()

context = {'total_orders': total_orders,
           'orders': orders
           }

return render(request, 'accounts/dashboard.html', context)

шаблон

          {% for order in orders %}
            <tr>
              <th scope="row">{{order.id}}</th>
              <td>{{order.product}}</td>
              <td>{{order.date_created}}</td>
              <td></td>
              <td></td>
            </tr>
          {% endfor %}

1 Ответ

1 голос
/ 14 июля 2020

Измените шаблон следующим образом:

      {% for order in orders %}
        <tr>
          <th scope="row">{{order.id}}</th>
          <td>{% for product in product.order.all %}
            <li>{{ product }}</li>
            {% endfor %}</td>
          <td>{{order.date_created}}</td>
          <td></td>
          <td></td>
        </tr>
      {% endfor %}
...