5. How to make a field editable while creating, but read only in existing objects?¶
You need to make the name
and category
read only once a Hero
is created. However duing the first write the fields needs to be editable.
You can do this by overriding get_readonly_fields
method, like this:
def get_readonly_fields(self, request, obj=None):
if obj:
return ["name", "category"]
else:
return []
obj
is None
during the object creation, but set to the object being edited during an edit.