带有自定义用户模型的Django auth LDAP



我正在尝试使用自定义用户模型使用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()模型。此方法将 返回当前活动的用户模型 - 自定义用户模型如果一个 指定或用户否则。

我不建议您自己修改第三方套餐。如果可以的话,请向开发人员建议更改,或向他们发送拉动请求。接受后,更新软件包。

最新更新