Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

AttributeError: 'module' object has no attribute 'model'

Tags:

python

django

Can anyone help me please to solve this..

from django.db import models

# Create your models here.
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()

Running:

c:\projects\mysite>python manage.py sql polls
Traceback (most recent call last):
  File "manage.py", line 11, in <module>
    execute_manager(settings)
  File "C:\Python25\Lib\site-packages\django\core\management\__init__.py", line 340, in execute_manager
    utility.execute()
  File "C:\Python25\Lib\site-packages\django\core\management\__init__.py", line 295, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "C:\Python25\Lib\site-packages\django\core\management\base.py", line 195, in run_from_argv
    self.execute(*args, **options.__dict__)
  File "C:\Python25\Lib\site-packages\django\core\management\base.py", line 221, in execute
    self.validate()
  File "C:\Python25\Lib\site-packages\django\core\management\base.py", line 249, in validate
    num_errors = get_validation_errors(s, app)
  File "C:\Python25\lib\site-packages\django\core\management\validation.py", line 28, in get_validation_errors
    for (app_name, error) in get_app_errors().items():
  File "C:\Python25\lib\site-packages\django\db\models\loading.py", line 128, in get_app_errors
    self._populate()
  File "C:\Python25\lib\site-packages\django\db\models\loading.py", line 57, in _populate
    self.load_app(app_name, True)
  File "C:\Python25\lib\site-packages\django\db\models\loading.py", line 72, in load_app
    mod = __import__(app_name, {}, {}, ['models'])
  File "c:\projects\mysite\..\mysite\polls\models.py", line 4, in <module>
    class Poll(models.model):
AttributeError: 'module' object has no attribute 'model'
like image 902
jbcedge Avatar asked Jan 19 '09 08:01

jbcedge


People also ask

How do I fix module Object has no attribute?

To solve the Python "AttributeError: module has no attribute", make sure you haven't named your local modules with names of remote modules, e.g. datetime.py or requests.py and remove any circular dependencies in import statements.

What does Object has no attribute mean in Python?

It's simply because there is no attribute with the name you called, for that Object. This means that you got the error when the "module" does not contain the method you are calling.

What is attribute error in Python?

AttributeError can be defined as an error that is raised when an attribute reference or assignment fails. For example, if we take a variable x we are assigned a value of 10. In this process suppose we want to append another value to that variable. It's not possible.


3 Answers

It's called models.Model and not models.model (case sensitive). Fix your Poll model like this -

class Poll(models.Model):     question = models.CharField(max_length=200)      pub_date = models.DateTimeField('date published') 
like image 173
Baishampayan Ghose Avatar answered Oct 07 '22 14:10

Baishampayan Ghose


I also got the same error but I noticed that I had typed in Foreign*k*ey and not Foreign*K*ey,(capital K) if there is a newbie out there, check out spelling and caps.

like image 35
sam Avatar answered Oct 07 '22 15:10

sam


Searching

AttributeError: 'module' object has no attribute 'BinaryField'

landed me here.

The above answers did not solve the problem, so I'm posting my answer.

BinaryField was added since Django 1.6. If you have an older version, it will give you the above error.

You may want to check the spelling of the attribute first, as suggested in the above answers, and then check to make sure the module in the Django version indeed has the attribute.

like image 35
azalea Avatar answered Oct 07 '22 16:10

azalea