Django Help:AttributeError:'module'对象没有属性'Charfield'

时间:2012-06-22 21:32:08

标签: python django

我已经看过几个类似的其他属性的帖子,但不是这个。 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。

任何帮助非常感谢! (我正在努力学习!)

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)

CF都应大写

答案 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)