Django管理后台变更列表与变更表单集成
基本上,我有一个包含三个模型的结构,顺序如下:
class Model_A(models.Model):
# (actually, it doesn't matter what type m_aid is...)
m_aid = models.IntegerField(primary_key=True)
# ...
class Model_B(models.Model):
m_bid = models.IntegerField(primary_key=True) # same as previous
m_a = models.ForeignKey('Model_A', db_column='m_aid')
# ...
class Model_C(models.Model):
m_cid = models.IntegerField(primary_key=True) # same as the previous 2
m_b = models.ForeignKey('Model_B', db_column='m_bid')
# ...
我想要做的是在管理后台的修改表单模板中稍作调整:在Model_A的修改表单中,我想显示它的子模型Model_B的修改列表,而在Model_B的修改表单中,我想放入Model_C的修改列表。
有没有什么想法可以实现这个?
附注:你可能会觉得这个问题很简单,但我对django(和python)还是新手。
1 个回答
0
你可以使用内联模型来实现这个功能。
这样你在编辑“模型A”的时候,可以同时编辑一个或多个“模型B”的实例。虽然这和你在更改列表中看到的不是完全一样,但内联模型有两种内置的布局方式,分别是堆叠和表格。表格布局的外观最接近你想要的效果。