我正在尝试使用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)未显示):
显示ContractSubClause(s)缺少什么?
答案 0 :(得分:0)
我过去遇到了同样的问题,现在为我解决了。希望这也适合你。
它不依赖于来自soaa或silverfix的不同包。当我用pip安装它时,包是在PythonXX / Lib / site-packages中,但不知何故django无法使用该包而不会抛出错误。因此,要么将系统路径设置为site-packages,要么将nested_inlines文件夹复制到Lib。