首页 文章

使用Django auth LDAP后端时允许更大的字段大小和截断

提问于
浏览
0

我正在使用django_auth_ldap.backend.LDAPBackend根据LDAP目录对用户进行身份验证,并从LDAP(cn,sn,email等)复制一些属性 . 但是,某些LDAP字段的值大于django.auth.models.User模型支持的值 .

如何指示Django为User模型使用更大的max_length值?

<<更新>>

我已经找到了解决方案 . 在执行第一个syncdb之前,我在应用程序的models.py中添加了以下行:

Hack django.contrib.auth.User

User._meta.get_field_by_name('username')[0] .max_length = 128 User._meta.get_field_by_name('first_name')[0] .max_length = 128 User._meta.get_field_by_name('last_name')[0] .max_length = 128 User._meta.get_field_by_name('email')[0] .max_length = 128

1 回答

  • 0

    您可以继承User模型并修改您希望扩展的字段,遗憾的是,看起来用户模型在django_auth_ldap中是硬编码的,因此您需要使用fork django_auth_ldap来使用您的自定义User模型 .

相关问题