1

我创建了这个可重用应用程序的草稿: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's apps.get_model('my_app', 'my_model'),在 django 1.11 中,它添加了一个require_readykwarg。比较django 1.11django 1.10 get_user_model。此外,apps.get_model()在 django 1.11 中引入了 kwarg。


这是代码(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.

也许这根本不可能实现?

4

0 回答 0