【发布时间】:2020-07-13 16:59:02
【问题描述】:
我正在尝试将 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 %}
【问题讨论】:
-
for 循环因缺少空格而未启动
{% for order in orders %} -
谢谢我在清理代码放在这里时错过了它,仍然没有解决问题
-
您的上下文是否返回
orders中的任何对象? -
是的,它返回所有这里的订单 = Order.objects.all()
-
你试过
{{ order.product }}吗?
标签: python python-3.x django django-models django-views