【问题标题】:Django Help: AttributeError: 'module' object has no attribute 'Charfield'Django 帮助:AttributeError:“模块”对象没有属性“Charfield”
【发布时间】:2012-06-22 21:32:07
【问题描述】:

我已经看到了几个类似的其他属性的帖子,但不是这个。 Python 和 Django 的新手——我已经完成了几个教程的第一部分,包括 Django 的“轮询”教程,当我为我的应用程序同步数据库时,我总是得到 'AttributeError: 'module' object has no attribute 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。

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

【问题讨论】:

    标签: python django


    【解决方案1】:

    这是CharField,带有大写“f”,而不是您的代码中的Charfield

    【讨论】:

    • 天哪,这是最简单的该死的事情,正盯着我的脸!感谢您的快速回答!
    【解决方案2】:

    charfield 更改为:

    CharField(max_length = 10)
    

    CF 都应该大写

    【讨论】:

    • 是否有理由将长度从200 更改为10?它掩盖了你实际提出的观点(CharField 的错字)。
    • 欢迎来到 Stack Overflow!尽管我们感谢您的回答,但如果它在其他答案之上提供额外的价值会更好。在这种情况下,您的答案不会提供额外的价值,因为另一个用户已经发布了该解决方案。如果之前的答案对您有帮助,您应该投票而不是重复相同的信息。
    【解决方案3】:

    我认为您正在使用 forms.py

    from django.forms import forms
    

    请使用这个

    from django import forms
    

    【讨论】:

      【解决方案4】:

      我有同样的错误,但以下代码对我有用:

      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() ..

      【讨论】:

        【解决方案5】:

        在模型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()
        

        【讨论】:

          【解决方案6】:

          使用这个 from django.db import models

          【讨论】:

          • 我收到了这个错误AttributeError: module 'django_countries.models' has no attribute 'CharField'这对我有用from django.db import models
          【解决方案7】:

          这个:

            question = models.CharField(max_length=200)
          

          而不是:

            question = models.Charfield(max_length=200)
          

          【讨论】:

            猜你喜欢
            • 2015-04-28
            • 1970-01-01
            • 1970-01-01
            • 2015-03-21
            • 1970-01-01
            • 2020-02-21
            • 2010-11-18
            相关资源
            最近更新 更多