Django admin根据更改或添加不同的Inline admin表单只读字段

2024-10-02 20:42:13 发布

您现在位置:Python中文网/ 问答频道 /正文

我想在内联管理器上使用不同的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是父模型的实例,而不是内联模型。在

有什么想法吗?在


Tags: 实例instance模型youobjfields管理器if