通过带有内联的Django ModelAdmin在管理门户中显示两个与“self”的关系

时间:2012-03-02 07:09:06

标签: python django django-admin

简而言之,我正在尝试让Django Admin为多个关系呈现内联。可以吗?怎么样?参加以下未经测试的 *插图*;假设它有用,我会去管理门户,选择人,并添加孩子(儿子/女儿)和学生。

模型示例(models.py)

class Person(models.Model):
    name = models.CharField(max_length=400)
    parent = models.ForeignKey('self',related_name='children')
    teacher = models.ForeignKey('self',related_name='students')

Django Admin(admin.py)

class ChildrenInline(admin.TabularInline):
    model = Person
    fk_name = 'parent'

class StudentsInline(admin.TabularInline):
    model = Person
    fk_name = 'teacher'

class PersonAdmin(admin.ModelAdmin):
    inline = [ChildrenInline,StudentsInline]
    model = Person

admin.site.register(Person,PersonAdmin)

如果以上代码在技术上正确,我需要弄清楚发生了什么。

谢谢!

1 个答案:

答案 0 :(得分:1)

你有一个错字!

inline =代替docs中的复数inlines =

我测试过,它适用于inlines =:)

另外,赞成发布正确的代码以重现!