0

我正在尝试在我的应用程序 models.py 中定义自定义用户模型的外键默认值,例如:

  owner = models.ForeignKey(settings.AUTH_USER_MODEL, null=False, 
           default=get_user_model().objects.get()[0].pk)

自定义用户模型也在同一个models.py中定义

但是,当他们尝试使用时,我在另一个应用程序 models.py 中遇到了丑陋的循环导入问题get_user_model()

django.core.exceptions.ImproperlyConfigured: AUTH_USER_MODEL refers to
model 'myapp.MyCustomUserModel' that has not been installed

我该如何解决这个问题?

4

1 回答 1

0

添加一个方法来获取默认所有者,而不是将其作为值。

owner = models.ForeignKey(settings.AUTH_USER_MODEL, null=False, 
                          default=get_default_owner)

#this can be a global method and need not be in same model.
def get_default_owner():
    return get_user_model().objects.get()[0]
于 2013-07-10T06:10:58.113 回答