我已经看过几个类似的其他属性的帖子,但不是这个。 Python和Django的新手 - 我已经完成了几个教程的第一部分,包括Django的“民意调查”教程,当它到达我的app的syncdb时,我总是得到'AttributeError:'module'对象没有属性CharField 。
在模型中,我完全按照教程所说的那样复制:
来自django.db导入模型
class Poll(models.Model):
question = models.Charfield(max_length=200)
pub_date = models.DateTimeField('date published')
class Choice(models.Model):
poll = models.ForeignKey(Poll)
choice = models.CharField(max_length=200)
votes = models.IntegerField()
# Create your models here.
'polls'也被添加到已安装的应用程序中,我使用的是sqlite3,windows 7,python 2.7。
任何帮助非常感谢! (我正在努力学习!)
答案 0 :(得分:41)
那是CharField
,大写'f',而不是代码中的Charfield
。
答案 1 :(得分:9)
我认为在forms.py中你正在使用
from django.forms import forms
请使用此
from django import forms
答案 2 :(得分:0)
我有同样的错误,但以下代码适用于我:
from django.db import models
#Create your models here.
class Question(models.Model):
question_text = models.CharField(max_length=100)
pub_date = models.DateTimeField('date published')
class Choice(models.Model):
choice_text = models.CharField(max_length = 200)
votes = models.IntegerField(default =0)
question = models.ForeignKey(Question, on_delete=models.CASCADE)
只需将charfield()更改为charField()..
答案 3 :(得分:0)
将charfield
更改为:
CharField(max_length = 10)
C
和F
都应大写
答案 4 :(得分:0)
在模型Poll
中,CharField
的拼写格式不正确。也就是说,您已经写了一个小写字母f
来代替大写字母F
。因此,将Charfield
替换为CharField
。您可以看到以下代码:
from django.db import models
class Poll(models.Model):
question = models.CharField(max_length=200)
pub_date = models.DateTimeField('date published') class Choice(models.Model):
poll = models.ForeignKey(Poll)
choice = models.CharField(max_length=200)
votes = models.IntegerField()
答案 5 :(得分:0)
使用此
from django.db import models
答案 6 :(得分:0)
这个:
question = models.CharField(max_length=200)
代替:
question = models.Charfield(max_length=200)