ModelForm没有指定模型类。[django]

AM0k

在我的表格中,我有:

from pydoc import locate

from django import forms
from django.conf import settings

from django.contrib.auth.forms import UserCreationForm, UsernameField
from django.core.validators import EmailValidator

class SignUpForm(UserCreationForm):
    username = UsernameField(label=_("Username"), widget=forms.TextInput(), )
    email = forms.EmailField(max_length=254, label="Email", widget=forms.EmailInput(), validators=[EmailValidator])

    class Meta:
        model = locate(settings.AUTH_USER_MODEL)   <--- HERE
        fields = ("username", "email", "password1", "password2")

模型中的用户应用程序

class Profile(AbstractUser):

    def __str__(self):
        return self.username

在我的项目settings.py中进行设置

AUTH_USER_MODEL = 'user.Profile'

它给了我

ValueError at /user/register 
ModelForm has no model class specified.

当我改变类元我的形式来:

class Meta:

        model = Profile   <--- HERE

一切都好。为什么我的模型= locate(settings.AUTH_USER_MODEL)不起作用?

威廉·范昂塞姆

您可以使用get_user_model()[Django-doc]方法来获取对您指定为的模型的引用AUTH_USER_MODEL

from django.contrib.auth import get_user_model

class SignUpForm(UserCreationForm):
    username = UsernameField(
        label=_('Username'),
        widget=forms.TextInput()
    )
    email = forms.EmailField(
        max_length=254,
        label='Email',
        widget=forms.EmailInput(),
        validators=[EmailValidator]
    )

    class Meta:
        model = get_user_model()
        fields = ('username', 'email')

locate在这种情况下将不起作用,因为它会在找不到模块的情况下返回None,因此会“静默失败”。Profile该类的位置user.models.Profile,Django仅具有一些用于引用模型的特殊语法app_name.ModelName

对于另一个模型,可以使用apps.get_model(…)[Django-doc]函数

from django.apps import apps
from django import forms

# name of the model
model_name = 'app_name.ModelName'

class MyModelForm(forms.ModelForm):
    class Meta:
        model = apps.get_model(model_name)
        fields = '__all__'

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

ModelForm没有指定模型类。Django的

来自分类Dev

ModelForm没有在Django中指定的模型类

来自分类Dev

Django ValueError:ModelForm没有指定模型类

来自分类Dev

Django Error ModelForm没有指定模型类

来自分类Dev

使用模型表单时,ModelForm没有指定模型类

来自分类Dev

/ profile / ModelForm处的ValueError没有指定模型类

来自分类Dev

/ ModelForm 处的 ValueError 没有指定模型类

来自分类Dev

未指定ModelForm模型类Django错误

来自分类Dev

意外的 ModelForm 没有指定类的错误

来自分类Dev

Django modelform 没有插入数据

来自分类Dev

Django中的模型管理器-没有对模型类的引用?

来自分类Dev

Django中的模型管理器-没有对模型类的引用?

来自分类Dev

没有模型的Django表单

来自分类Dev

测试Django ModelForm是否在定制模型上具有实例

来自分类Dev

抽象的Django模型没有“模型”属性?

来自分类Dev

为什么Abstract = True没有在Django模型的Meta类中继承

来自分类Dev

Django:当没有定义 __init__() 时,模型类如何接受构造函数参数?

来自分类Dev

Django字段具有模型类的价值

来自分类Dev

django:LookupError:App'没有'models'模型

来自分类Dev

Django上传没有模型的文件

来自分类Dev

Django上传没有模型的文件

来自分类Dev

django:LookupError:App'没有'models'模型

来自分类Dev

没有模型的 Django REST API 框架

来自分类Dev

Django模型形式-排除没有模型域的域

来自分类Dev

ModelForm没有属性get

来自分类Dev

指定实现的同时具有接口类的WebAPI模型[ModelBinder]

来自分类Dev

具有非托管类的Django模型类继承

来自分类Dev

NgClass没有在true上添加所有指定的类

来自分类Dev

在具有自定义清理方法的CreateView / ModelForm中使用django进行模型验证

Related 相关文章

  1. 1

    ModelForm没有指定模型类。Django的

  2. 2

    ModelForm没有在Django中指定的模型类

  3. 3

    Django ValueError:ModelForm没有指定模型类

  4. 4

    Django Error ModelForm没有指定模型类

  5. 5

    使用模型表单时,ModelForm没有指定模型类

  6. 6

    / profile / ModelForm处的ValueError没有指定模型类

  7. 7

    / ModelForm 处的 ValueError 没有指定模型类

  8. 8

    未指定ModelForm模型类Django错误

  9. 9

    意外的 ModelForm 没有指定类的错误

  10. 10

    Django modelform 没有插入数据

  11. 11

    Django中的模型管理器-没有对模型类的引用?

  12. 12

    Django中的模型管理器-没有对模型类的引用?

  13. 13

    没有模型的Django表单

  14. 14

    测试Django ModelForm是否在定制模型上具有实例

  15. 15

    抽象的Django模型没有“模型”属性?

  16. 16

    为什么Abstract = True没有在Django模型的Meta类中继承

  17. 17

    Django:当没有定义 __init__() 时,模型类如何接受构造函数参数?

  18. 18

    Django字段具有模型类的价值

  19. 19

    django:LookupError:App'没有'models'模型

  20. 20

    Django上传没有模型的文件

  21. 21

    Django上传没有模型的文件

  22. 22

    django:LookupError:App'没有'models'模型

  23. 23

    没有模型的 Django REST API 框架

  24. 24

    Django模型形式-排除没有模型域的域

  25. 25

    ModelForm没有属性get

  26. 26

    指定实现的同时具有接口类的WebAPI模型[ModelBinder]

  27. 27

    具有非托管类的Django模型类继承

  28. 28

    NgClass没有在true上添加所有指定的类

  29. 29

    在具有自定义清理方法的CreateView / ModelForm中使用django进行模型验证

热门标签

归档