Python: How to replace a property with a regular attribute?
You could assign to the class, instead of the instance:
MyClass.management_form = property(self.myfunc)
Of course, this changes the class itself for all instances (even preexisting ones). If this is OK, you can also call it exactly once, rather than in every derived-class constructor (which I'm guessing is what you're doing now).
Otherwise, you can override it in the derived class in the usual manner:
class MyOtherClass(MyClass):
def _new_mf(self):
# Better code
return form
management_form = property(new_mf)