【问题标题】:TypeError: 'class Meta' got invalid attribute(s): fields,modelTypeError:'class Meta' 的属性无效:字段、模型
【发布时间】:2018-03-22 18:07:56
【问题描述】:

我正在尝试使用 django-ldapdb 库来显示用户的 LDAP 属性。首先我做了一个新模型:

models.py

class LdapUser(ldapdb.models.Model):
    base_dn = u"CN=XXX,CN=Users,DC=domain,DC=com"
    object_classes = ['posixAccount', 'shadowAccount', 'inetOrgPerson']

    # inetOrgPerson
    phone = CharField(db_column='telephoneNumber', blank=True)
    mobile_phone = CharField(db_column='mobile', blank=True)

我想用表单在我的 webapp 中显示这些。

class LdapUserForm(ldapdb.models.Model):
    class Meta:
       model = LdapUser
       fields = (
       'phone',
       'mobile_phone'
       )

我完成了所有迁移,但是当我运行我的代码时,它给了我以下错误。

raise TypeError("'class Meta' 的属性无效:%s" % ','.join(meta_attrs.keys())) TypeError: 'class Meta' 的属性无效:字段、模型

我查了一下,但找不到任何有用的东西。所以我希望stacko上的人有一个解决方案。

提前致谢

【问题讨论】:

    标签: python django django-models django-forms ldap


    【解决方案1】:

    您的表单继承自模型。它应该继承自forms.ModelForm

    【讨论】:

    • 再次感谢罗斯曼先生。你知道我现在如何显示这些 LDAP 属性吗?我真的不知道 django-ldapdb 是如何工作的。也许你知道我如何使用 ldap-attributes 构建视图函数?
    猜你喜欢
    • 1970-01-01
    • 2017-10-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-26
    • 2018-12-12
    • 1970-01-01
    相关资源
    最近更新 更多