我正在尝试在我的app models.py中定义一个自定义用户模型的外键默认值,例如:
owner = models.ForeignKey(settings.AUTH_USER_MODEL, null=False,
default=get_user_model().objects.get()[0].pk)
自定义用户模型也在相同的models.py
中定义但是,当我们尝试使用get_user_model()
时,我在另一个app models.py中遇到了丑陋的循环导入问题:
django.core.exceptions.ImproperlyConfigured: AUTH_USER_MODEL refers to
model 'myapp.MyCustomUserModel' that has not been installed
我该如何解决这个问题?
答案 0 :(得分: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]