Python Django 名称错误 : name 'model' is not defined

标签 python django model-view-controller django-models

我的一个应用程序中有一个模型,当我运行“python.py makemigrations signup”时会抛出错误。在过去的两天里,我一直在翻阅文档(和谷歌)试图弄清楚为什么会发生这个错误。不幸的是,我一无所获。

我想做的是在我的项目中包含一个应用程序。该应用程序位于我的 python 目录的根目录中(不在我的项目的子文件夹中)。这是我的代码:

from django.db import models

class CompanyInfo(models.Model):
        companyID = model.AutoField(primary_key=True)
        companyName = model.CharField(max_length=100)
        companyURL = model.URLField(max_length=100)
        companyEmail = model.EmailField(max_length=254)
        companyFEIN = model.CharField(max_length=50)
        companyUsername= model.CharField(max_length=100)
        companyPassword = model.CharField(max_length=100)

class CompanyContact(models.Model):
        ccID = model.AutoField(primary_key=True)
        ccFirstName = model.CharField(max_length=100)
        ccLastName = model.CharField(max_length=100)
        ccEmail = model.EmailField(max_length=254)
        ccPhone = model.IntegerField(max_length=20)

打印到控制台的确切错误如下:

root@ubuntu1204:/home/humanoid# python manage.py makemigrations humanoid
Traceback (most recent call last):

File "manage.py", line 10, in <module>
    execute_from_command_line(sys.argv)

File "/usr/local/lib/python2.7/dist-packages/django/core/management/__init__.py", line 338, in execute_from_command_line
    utility.execute()

 File "/usr/local/lib/python2.7/dist-packages/django/core/management/__init__.py", line 312, in execute
    django.setup()

File "/usr/local/lib/python2.7/dist-packages/django/__init__.py", line 18, in setup
    apps.populate(settings.INSTALLED_APPS)

File "/usr/local/lib/python2.7/dist-packages/django/apps/registry.py", line 108, in populate
    app_config.import_models(all_models)

File "/usr/local/lib/python2.7/dist-packages/django/apps/config.py", line 198, in import_models
    self.models_module = import_module(models_module_name)

File "/usr/lib/python2.7/importlib/__init__.py", line 37, in import_module
    __import__(name)

File "/home/humanoid/signup/models.py", line 3, in <module>
    class CompanyInfo(models.Model):

File "/home/humanoid/signup/models.py", line 4, in CompanyInfo
    companyID = model.AutoField(primary_key=True)
NameError: name 'model' is not defined

最佳答案

看起来您在 models 上删除了“s”。您需要将 model 的使用更改为 models

例如:

companyID = model.AutoField(primary_key=True)

需要:

companyID = models.AutoField(primary_key=True)

关于Python Django 名称错误 : name 'model' is not defined,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29615797/

相关文章:

python - __slots__ 在 Python 中是如何实现的?

python - 更好的方法来统一打乱两个 numpy 数组

Django:x 天后发送电子邮件

javascript - 对 ejs View 文件的引用在构建后不会改变,尽管它将它组合在 production.js 中 - Javascript MVC

c# - 从部分 View 编辑器获取更新数据并传递给 Controller

python - 使用 beautifulsoup 提取 url 和标题

python - 为什么这个 Python 函数不起作用?

python - 要求用户在首次登录时更改密码?

python - 属性错误 : 'str' object has no attribute 'fields' Using Django non rel on GAE

php - MVC架构中,密码加密应该在哪里进行