首页 > 解决方案 > 指定的未知字段 ()

问题描述

这里有什么问题?

错误:文件“/Users/user/Desktop/Dp1/project6/project6/urls.py”,第 18 行,从 myapp6 导入视图文件“/Users/user/Desktop/Dp1/project6/myapp6/views.py”,第 2 行,从 myapp6.forms 导入 UserForm,UserProfileInfoForm 文件“/Users/user/Desktop/Dp1/project6/myapp6/forms.py”,第 15 行,在类 UserProfileInfoForm(forms.ModelForm):文件“/Users/user /miniconda3/envs/Djangoenv/lib/python3.7/site-packages/django/forms/models.py”,第 266 行,在的 raise FieldError(message) django.core.exceptions.FieldError: Unknown field(s) ( profile_pic) 为 UserProfileInfo 指定

模型.py

from django.db import models
from django.contrib.auth.models import User

# Create your models here.

class UserProfileInfo(models.Model):
    user = models.OneToOneField(User,on_delete='models.PROTECT')

    portfolio_site = models.URLField(blank=True)

    portfolio_pic = models.ImageField(upload_to='profile_pics',blank=True)

    def __str__(self):
        return self.user.username

表格.py

from django import forms
from django.contrib.auth.models import User
from myapp6.models import UserProfileInfo

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

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

class UserProfileInfoForm(forms.ModelForm):
    class Meta():
        model = UserProfileInfo
        fields = ('portfolio_site','profile_pic')

标签: djangopython-3.x

解决方案


改变这个:

class UserProfileInfoForm(forms.ModelForm):
    class Meta():
        model = UserProfileInfo
        fields = ('portfolio_site','portfolio_pic')

为了那个原因:

class UserProfileInfoForm(forms.ModelForm):
    class Meta():
        model = UserProfileInfo
        fields = ('portfolio_site','profile_pic')

推荐阅读