繁体   English   中英

在Django中如何在更改列表视图中显示父模型数据和子模型数据?

[英]In django How to display parent model data with child model data in change list view?

示例:我有一个发票作为父模型,有发票详细信息作为子模型。 我想在发票模型管理中将子明细显示为发票条目。 目标是在列表页面本身中实现统一视图。 是否有其他方法可以实现此目标:它应如下所示:

Invoice 1:
 -details 1
 -details 2
Invoice 2:
 -details 1
 -details 2
 -details 3

在Django 1.6.5中是否有一些可用的模板?

假设以下示例:

models.py

class Invoice(models.model):
    date = models.DateTimeField()  # for example

class InvoiceDetail(models.model):
    invoice = models.ForeignKey(Invoice)

views.py

# example, don't fetch all in production
return render(request, 'mytemplate.html', {'invoices': Invoice.objects.all()})

那么您的模板应为:

mytemplate.html

{% for invoice in invoices %}
    <p>Invoice {{ invoice.id }} ({{ invoice.date }})
    {% if invoice.invoicedetail_set %}
        <ul>
        {% for detail in invoice.invoicedetail_set %}
            <li>Detail {{ detail.id }}</li>
        {% endfor %}
        </ul>
    {% endif %}
    </p>
{% endfor %}

对于管理界面, Django文档中有一个很好的教程:教程:添加相关对象

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM