我已经创建了可重用应用程序的草稿:django-separate-users。它基本上可以工作:)但是,这个代码只能在django 1.11+上运行。问题就出在此处,是对get_user_model()
的调用:models.py。
文档声明,在1.11中“添加了在导入时调用get_user_model()
的能力。”:
https://docs.djangoproject.com/en/1.11/topics/auth/customizing/#referencing-the-user-model
如何让这段代码适用于django 1.8? AUTH_USER_MODEL是一个字符串,所以它不起作用?据我所知,get_user_model()
使用django的apps.get_model('my_app', 'my_model')
,在django 1.11中,它添加了require_ready
kwarg。比较django 1.11与django 1.10 get_user_model。此外,apps.get_model()
的kwarg在django 1.11中被引入。
这是代码(models.py),简化:
from django.contrib.auth import get_user_model
UserModel = get_user_model()
class FrontendUser(UserModel):
objects = FrontendUserManager()
def save(self, *args, **kwargs):
self.is_staff = False
super(FrontendUser, self).save(*args, **kwargs)
class Meta:
proxy = True
django中的(明显)错误< 1.11:
django.core.exceptions.AppRegistryNotReady: Models aren't loaded yet.
也许这根本不可能实现?