django多对多字段管理页面

时间:2014-08-26 19:03:30

标签: python django django-admin

我在Django中的两个模型之间有多对多的字段。但是,我只在管理页面上的某个模型中看到一个表单字段。我尝试在第二个模型中添加多对多字段,虽然这在管理页面中添加了一个表单字段,但两个表单字段未同步(因此更改一个表单字段上的值不会影响另外一个)。有没有办法建立多对多关系并在管理页面中有两个表单字段并且两者都是同步的?

2 个答案:

答案 0 :(得分:0)

有一个名为django-admin-extend的开源Django应用程序,它使用add_bidirectional_m2m和_get_bidirectional_m2m_fields解决双向多对多字段的问题。它可以通过pip安装。

https://github.com/kux/django-admin-extend

https://pypi.python.org/pypi/django-admin-extend

答案 1 :(得分:0)

如果您在两个模型中定义m2m关系,并设置"通过"一个属性等于"通过"另一方面,你可以从双方访问m2m关系,并从两个管理页面看到它。

class Test1(models.Model):
    tests2 = models.ManyToManyField('Test2', blank=True)

class Test2(models.Model):
    tests1 = models.ManyToManyField('Test1', through=Test1.tests2.through, blank=True)

https://code.djangoproject.com/ticket/897