5.如何在创建时,字段可编辑,但是现有只读?

创建Hero对象后,你需要让namecategory设置为只读,但是第一次写入的时候,这些字段需要可编辑

你可以重写get_readonly_fields方法,像这样:

  1. def get_readonly_fields(self, request, obj=None):
  2. if obj:
  3. return ["name", "category"]
  4. else:
  5. return []

obj在对象创建期间是None,但是编辑期间,编辑对象期间是可编辑的。