我正在尝试使用 ModelForm:
from django.db import models
from django.forms import ModelForm
class Car(models.Model):
carnumber = models.CharField(max_length=5)
def __unicode__(self):
return self.carnumber
class PickForm(ModelForm):
class Meta:
Model = Car
我已经检查过了,但找不到我的错误。当我在浏览器中调用视图时,出现以下错误:
ModelForm has no model class specified
我已经测试了在同一 URL 处使用简单的“foo bar”代码调用模型的视图,但是当我尝试此代码时,我收到了上面的类错误。
应该是
model
而不是Model
:
class PickForm(ModelForm):
class Meta:
model = Car
我的错误是因为我写了
meta
而不是Meta
。
只需执行此方法,您的页面就会运行:
class PickForm(ModelForm):
class Meta:
model = Car
fields = "__all__"
就我而言,发生错误是因为我写了
class META
相反,它应该是
class Meta
就我而言,错误是由于我写的:
models = User
而不是:
model = User
class PickForm(ModelForm):
class Meta:
Model = Car`
这里的Model区分大小写,所以使用model而不是Model。
所以代码就变成了
class PickForm(ModelForm):
class Meta:
model = Car
如果这是一份过去的副本,那么您就有一个拼写错误。我强烈建议您使用 IDE 或具有错误检查功能的东西。我用的是Eclipse。它将为您节省大量时间,避免类似这样的小烦恼。
class PickForm(ModelForm):
class Meta:
Model = Car`
你的错字就在汽车的末尾。小撇号的事情。
在您定义的表单代码区域中查看您的代码。=,:和meta,Meta可能有错误。所以请仔细查看是否存在区分大小写的错误或那里的任何标志
我只是通过写
model: Comment
而不是 model = Comment
🤦u200d♂️ 来得到这个错误
您错过了向管理员注册模型的基本步骤。请这样做,这应该对你有用。
在应用程序的
admin.py
文件中添加以下行:
from yourapp.models import yourmodel
admin.site.register(yourmodel)
此处
yourapp
和 yourmodel
需要替换为您的应用程序和型号的正确名称。