Django管理员更改列表与更改表单的集成

时间:2014-03-15 08:55:21

标签: python django django-admin

基本上我的顺序是3个模型的结构:

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的change_form中,我想显示其子项的更改列表 - Model_B,并且在Model_B的change_form中我想放置Model_C的更改列表。

任何想法怎么做?

P.S你可能会认为这是一个愚蠢的问题,但我是django(和python)的新手

1 个答案:

答案 0 :(得分:0)

您可以使用inline models来完成此任务。

它们允许您在编辑“模型A”的实例时编辑“模型B”的一个或多个实例,依此类推。它与您在更改列表中看到的内容不同,但有两个内置布局,堆叠和表格,用于内联。表格将使您的外观与您想要的一致。