def register(self, models={}): for alias, conf in models.items(): handler = self.supported_content_type.setdefault(alias, PurifyHandler()) handler.model = model = get_model(conf['model']) handler.manager = model.objects handler.content_type = get_contenttype(model) handler.methods = conf.get('methods', {})
def save_model(self, request, obj, form, change): if not change: if not self.Users: self.Users = get_model(settings.AUTH_USER_MODEL).objects row = self.Users.filter(pk__lt=100).aggregate(Max('pk')) obj.pk = row['pk__max'] + 1 obj.is_staff = True obj.is_superuser = False if not obj.username and hasattr(obj, 'mobile_phone'): obj.username = obj.mobile_phone if not obj.username and hasattr(obj, 'email'): obj.username = obj.email if not obj.nickname and hasattr(obj, 'nickname'): obj.nickname = obj.username return super(StaffAdmin, self).save_model(request, obj, form, change)
def validate(model_class, exception_class=ImproperlyConfigured): model = get_model(model_class) if not model: raise exception_class("Invalid model alias/class/instance `{}`".format(model_class)) return model