python - 如何在 Django 模板中显示所有外键属性?
问题描述
我想获取所有外键表的属性并将其显示在我的 HTML 模板中。这是我在模型、视图和模板中的代码:
模型.py:
class OrderDashboard(models.Model):
title = models.CharField(max_length=100,default=None)
single_slug = models.SlugField(max_length=100, default=1)
description = models.TextField(max_length=1000)
thumb = models.ImageField()
date = models.DateField()
def __str__(self):
return self.title
class OrderScenario(models.Model):
webshop = models.CharField(max_length=100)
title = models.ForeignKey(OrderDashboard, default=None, on_delete=models.SET_DEFAULT)
order_qty = models.TextField(max_length=10)
order_date = models.DateField()
current_status = models.CharField(max_length=100)
ticket = models.CharField(max_length=200)
remark = models.TextField()
class Meta:
verbose_name_plural = "Scenario"
def __str__(self):
return self.webshop
视图.py:
def single_slug(request, single_slug):
report = OrderDashboard.objects.get(single_slug=single_slug)
return render(request, 'order_dashboard/report.html', {'report': report,
'OrderScenario': OrderScenario.objects.all})
我只想查看OrderScenario
关于Title
in添加的所有场景OrderDashboard
。
解决方案
你应该在这里使用后向关系;如果您slug
通过 url 传递,您可以使用:
视图.py:
def single_slug(request, slug): # why you have self as the first argument?
report = OrderDashboard.objects.get(single_slug=slug)
return render(request, 'order_dashboard/report.html', {'report': report}
报告.html:
{{ report.title }}
</p>Order Scenarios:</p>
{% for scenario in report.orderscenario_set.all %}
{{ scenario }}
{% endfor %}
推荐阅读
- javascript - 如何通过本机反应获取每小时一天的天气数据,OpenWeatherMap API?
- r - ggplot单值因子从图例中删除斜线
- makefile - 即使先决条件没有改变,Makefile 也会构建目标
- python - Python比较数据框内容并在匹配时替换?
- android - android:fillType="evenOdd" is not working in api 23 - vector drawable 任何替代解决方案?
- angular - 验证器返回不正确的值
- google-sheets - Ask user a question and place the answer in a cell using Google Script
- c# - 如何在 JsonResult 中返回状态码
- tensorflow - 自定义损失函数 - 注意小区域
- git - git stash 应用特定索引