用户模型的Django模型形式中的未知字段错误

时间:2019-04-01 10:00:29

标签: python django

这就是我正在尝试的

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

class UserForm(forms.ModelForm):

class Meta:

    model=User

    fields=(' electricity','natural_gas','heating_oil','coal','lpg','propane','wooden_pellets')

这是错误代码

raise FieldError(message)
django.core.exceptions.FieldError: Unknown field(s) (propane, heating_oil, wooden_pellets, lpg, coal,  electricity, natural_gas) specified for User

1 个答案:

答案 0 :(得分:0)

您要在此处导入django提供的用户

from django.contrib.auth.models import User

它具有以下字段

id
password
last_login
is_superuser
username
first_name
last_name
email
is_staff
is_active
date_joined

在您的UserForm内部元类中,您将模型指定为User并尝试访问字段

fields=(' electricity','natural_gas','heating_oil','coal','lpg','propane','wooden_pellets')

显然不存在。

也许您想引用其他模型。如果您从django User模型类继承,也可以使用上述字段创建您喜欢的用户

class MyUser(User):
    electricity= models.CharField(max_length=20)
    #your fields here

并在UserForm的meta中指定为model = MyUser