Django formTypeError: signupinfoform.Meta.fields не может быть строкой - PullRequest
0 голосов
/ 05 июля 2019

Я создал модель с полями ниже, и она вызывает ошибку ann, так как TypeError: signupinfoform.Meta.fields не может быть строкой. Вы хотели напечатать: ( 'Confirm_password')

 from django.db import models
    from django.contrib.auth.models import User
    # Create your models here.
    class signup(models.Model):
        user = models.OneToOneField(User,on_delete=models.CASCADE)
        confirm_password = models.CharField(max_length=200)
        def __str__(self):
            return self.user.username

forms.py

from django import forms
from . models import signup

from django.contrib.auth.models import User
class signupform(forms.ModelForm):
    password = forms.CharField(widget=forms.PasswordInput())

    class Meta:
        model = User
        fields = ('username','password','email')
class signupinfoform(forms.ModelForm):
    confirm_password = forms.CharField(widget=forms.PasswordInput())
    class Meta:
        model = signup
        fields = ('confirm_password')

1 Ответ

1 голос
/ 05 июля 2019
from django.contrib.auth.models import User
class signupform(forms.ModelForm):
    password = forms.CharField(widget=forms.PasswordInput())

    class Meta:
        model = User
        fields = ('username','password','email',) -> add , to make a tuple
class signupinfoform(forms.ModelForm):
    confirm_password = forms.CharField(widget=forms.PasswordInput())
    class Meta:
        model = signup
        fields = ('confirm_password',) -> add , to make a tuple

или использование list

как

fields = ['confirm_password']

без , в конце () рассматривается как строка

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...