第二级嵌套的内联未在django-nested-inlines中显示

时间:2014-04-15 15:52:20

标签: python django

我正在尝试使用https://github.com/s-block/django-nested-inline 添加嵌套管理界面,但第二级未显示在管理员 ...

我在三个模型之间有外键关系:

ContractTemplate => ContractClause => ContractSubClauses

(即模板可以有多个子句,每个子句可以有许多子子句)

models.py

class ContractTemplate(models.Model):
    name = models.CharField()
    ...

class ContractClause(models.Model):
    contract_template = models.ForeignKey(ContractTemplate)
    title = models.CharField()
    ...

class ContractSubClauses(models.Model):
    contract_clause = models.ForeignKey(ContractClause)
    text = models.TextField()
    ...

admin.py

from nested_inlines.admin import NestedModelAdmin, NestedStackedInline, NestedTabularInline


class ContractSubClauseInline(NestedTabularInline):
    model = ContractSubClause

class ContractClauseInline(NestedStackedInline):
    model = ContractClause
    inlines = [ContractSubClauseInline]

class ContractTemplateAdmin(NestedModelAdmin):
    inlines = [ContractClauseInline]

admin.site.register(ContractTemplate, ContractTemplateAdmin)

这是管理员的外观(第一级 - ContractClause - 显示,但ContractSubClause(s)未显示):

admin

显示ContractSubClause(s)缺少什么?

1 个答案:

答案 0 :(得分:0)

我过去遇到了同样的问题,现在为我解决了。希望这也适合你。

它不依赖于来自soaa或silverfix的不同包。当我用pip安装它时,包是在PythonXX / Lib / site-packages中,但不知何故django无法使用该包而不会抛出错误。因此,要么将系统路径设置为site-packages,要么将nested_inlines文件夹复制到Lib。