Python 如何在Django模板中显示所有外键属性?

Python 如何在Django模板中显示所有外键属性?,python,django-models,Python,Django Models,我想获取所有foreignkey表的属性,并在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

我想获取所有foreignkey表的属性,并在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
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})
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}                             
{{ report.title }}
</p>Order Scenarios:</p>
{% for scenario in report.orderscenario_set.all %}
{{ scenario }}
{% endfor %}
视图.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
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})
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}                             
{{ report.title }}
</p>Order Scenarios:</p>
{% for scenario in report.orderscenario_set.all %}
{{ scenario }}
{% endfor %}

我只想查看在
OrderScenario
中添加的与
OrderDashboard
中的
Title
相关的所有场景,您应该在这里使用反向关系;如果要通过url传递
slug
,可以使用:

视图.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
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})
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}                             
{{ report.title }}
</p>Order Scenarios:</p>
{% for scenario in report.orderscenario_set.all %}
{{ scenario }}
{% endfor %}
report.html

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
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})
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}                             
{{ report.title }}
</p>Order Scenarios:</p>
{% for scenario in report.orderscenario_set.all %}
{{ scenario }}
{% endfor %}
{{report.title}

订单场景:

{report.orderscenario_set.all%} {{场景} {%endfor%}
到目前为止你都试了些什么?嗨@pedram,呜呜的一声,“self”是我的错。你的工作做得很好。谢谢你的帮助:)