【问题标题】:Django admin - different readonly fields of Inline admin form depending on change or addDjango admin - 内联管理表单的不同只读字段取决于更改或添加
【发布时间】:2015-10-19 19:05:11
【问题描述】:

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

有什么想法吗?

【问题讨论】:

标签: python django django-admin


【解决方案1】:

我用外键关系做到了这一点: 向子类添加一个包含父 PK 的字段,并且在需要时我可以查询父字段值。 或 - 向子项添加相同的字段并在父项更新时对其进行更新。

【讨论】:

  • 没有代码的代码总是比没有代码的代码好。我的意思是我不明白你描述的解决方案是什么。可以举个例子吗?
猜你喜欢
  • 1970-01-01
  • 2011-01-15
  • 2011-07-19
  • 1970-01-01
  • 1970-01-01
  • 2013-06-11
  • 2019-02-03
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多