我正在尝试使用自定义用户模型使用django auth ldap(v1.1.7),虽然我已经完成了其他所有操作,但我仍然遇到了一条熟悉的错误消息,我只是不知道如何修复。
运行python manage.py syncdb
返回:
CommandError: One or more models did not validate:
django_auth_ldap.testprofile: 'user' defines a relation with the model 'auth.Use
r', which has been swapped out. Update the relation to point at settings.AUTH_US
ER_MODEL.
我的问题是 - 在哪里可以找到django_auth_ldap.testprofile
并更新关系,以解决问题?
事先感谢您的帮助。
l.e。:好的,稍加谷歌后,我发现此测试程序位于django_auth_ldap/models.py中,然后得到:我通过进行了 ally 我的文件,并找到了该文件,并找到了修改的文件,它要指向设置.auth_user_model,但我仍然会收到相同的错误。
有人可以帮我解决这个问题吗?
这是 django_auth_ldap
's models.py-
class TestProfile(models.Model):
"""
A user profile model for use by unit tests. This has nothing to do with the
authentication backend itself.
"""
user = models.OneToOneField('auth.User') # <-- here is the trouble
is_special = models.BooleanField(default=False)
populated = models.BooleanField(default=False)
,除非您修复了代码的这一部分并按照Django文档中所述进行操作,否则您无法修复它 -
而不是直接引用用户,您应该参考用户 使用django.contrib.auth.get_user_model()模型。此方法将 返回当前活动的用户模型 - 自定义用户模型如果一个 指定或用户否则。
我不建议您自己修改第三方套餐。如果可以的话,请向开发人员建议更改,或向他们发送拉动请求。接受后,更新软件包。