from django.contrib.auth.models import User class OwnerField(User): def get_internal_type(self): return User.__name__ def pre_save(self, model_instance, add): if model_instance.id is None: return get_current_user() else: return getattr(model_instance, self.attname)