Вот реализация метода set()
через прокси-класс:
class foo(models.Model)
...
class foo_proxy(foo)
class Meta:
proxy = True
def set(self, **kwargs):
for arg, val in kwargs.items():
setattr(self, arg, val)
self.save()
А вот через абстрактный класс:
class model(models.Model)
class Meta:
abstract = True
def set(self, **kwargs):
for arg, val in kwargs.items():
setattr(self, arg, val)
self.save()
class foo(model)
...