我想在内联管理员中使用不同的readonly_fields
,具体取决于我们是添加还是更改内联模型的实例。对于常规(非内联)管理类,这将是这样的:
class SomeInlineAdmin(admin.StackedInline):
def get_readonly_fields(self, request, obj=None):
# normally this will tell you if you're adding or changing an instance
if obj:
# change
else:
# add
# but... obj is instance of parent class, not the inline model class...
但我没有看到在InlineAdmin内部确定是否添加或更改内联模型实例的方法。在切线方面,我发现很奇怪在InlineAdmin类中,obj
是父模型的实例,而不是内联模型。
有什么想法吗?
答案 0 :(得分:0)
我是用外键关系完成的: 向子类添加一个包含父PK的字段,并在需要时可以查询父字段值。 或 - 向子级添加相同的字段,并在父级更新时更新它。