我有两个型号,
class A(models.Model):
id = models.AutoField(primary_key=True)
name = models.CharField(max_length=200)
type = models.CHarFIeld(max_length=200)
..
..
..
class B(models.Model):
a= models.ForeignKey(A)
state = models.CharField(max_length=200)
现在,当我看到A类页面时,我想要一个可以显示与b相关的所有数据的链接。
任何建议
答案 0 :(得分:1)
当你创建一个关系时,你会在目标对象上自动拥有一个“set”成员,让你可以向后走这段关系(见django documentation)。
考虑到这一点,您可以在模板中使用以下内容:
{% for b in a.b_set %}
<!-- display data related to b -->
{% endfor %}
答案 1 :(得分:1)
我不知道如何配置管理员为您提供此功能,但您可以非常轻松地为您的模型A extend the admin templates并自行提供模型B管理页面的链接。
根据说明,你会做类似我在下面描述的事情。
使用以下约定
创建'change_form.html'模板[project]/ templates/ admin/ [app name]/ [model name]/ change_form.html
然后,您的change_form的内容,您可以扩展默认管理模板并根据您的需要进行自定义。例如,显示“b”对象列表,其中包含指向其管理页面的链接。
{% extends "admin/change_form.html" %}
{% block after_field_sets %}
<ul>
{% for b in a.b_set %}
<li><a href="../../[model b]/{{ b.pk }}/">{{ b }}</a></li>
{% endfor %}
</ul>
{% endblock %}