в моем проекте Django я получаю объект «ModelFormOptions» не имеет атрибута «concrete_model» ошибка - PullRequest
0 голосов
/ 11 февраля 2019

Я добавил форму для моего проекта отдыха django.Тем не менее, я продолжаю получать объект ModelFormOptions не имеет атрибута «concrete_model» error.

В своем классе User я добавил новое поле «password» и пытался создать форму.и вызовите сериализатор на него.

Моя модель:

class User(models.Model):
gender = models.CharField(max_length=10, blank=False, choices=GENDER)
first_name = models.CharField(max_length=20, blank=False)
last_name = models.CharField(max_length=20, blank=False)
position = models.CharField(max_length=50, blank=True)
birthday = models.DateField(auto_created=False, blank=False)
email = models.EmailField(max_length=50)
phone = models.CharField(max_length=15, blank=False)
password = models.CharField(max_length=100, default='something')

Форма

class UserForm(forms.ModelForm):
    password = forms.CharField(widget=forms.PasswordInput)

    class Meta:
        model = User
        fields = ('email', 'password')

Сериализатор

class UserSerializer(serializers.ModelSerializer):
class Meta:
    model = UserForm
    fields = '__all__'

Вот ошибка, которая возникает:

AttributeError в / users / 'ModelFormOptions' объект не имеет атрибута concrete_model '

1 Ответ

0 голосов
/ 11 февраля 2019

Ваш UserSerializer должен ссылаться на вашу модель, а не на форму:

class UserSerializer(serializers.ModelSerializer):
    class Meta:
        model = User
        fields = '__all__'
...