【发布时间】:2015-11-15 23:24:17
【问题描述】:
如何从内联模型管理员访问父实例?
我的目标是根据父实例的状态覆盖has_add_permission 函数。如果父母的状态不是 1,我不想允许添加孩子。
class ChildInline(admin.TabularInline):
model = Child
form = ChildForm
fields = (
...
)
extra = 0
def has_add_permission(self, request):
# Return True only if the parent has status == 1
# How to get to the parent instance?
#return True
class ParentAdmin(admin.ModelAdmin):
inlines = [ChildInline,]
【问题讨论】:
-
你查看 request.parent.status 了吗?
-
'WSGIRequest' object has no attribute 'parent' -
你找到解决办法了吗?
-
一种解决方法:我最终在检查 Parent 的 Child 模型的 clean 方法中添加了一些验证规则。
标签: django django-forms django-admin