django 和 python ./manage.py makemigrations 执行错误
Posted
技术标签:
【中文标题】django 和 python ./manage.py makemigrations 执行错误【英文标题】:django and python ./manage.py makemigrations execution error 【发布时间】:2016-08-09 04:00:51 【问题描述】:这就是我在 modeles.py 中的代码
from django.db import models
from django.utils import timezone
class Book(models.Model):
title = models.CharField(max_length = 200)
author = models.CharField(max_lenght = 200)
description = models.TextField()
publish_date = models.DateField(Default= timezone.now)
那是我输入 ./manage.py makemigrations 执行错误的时候 这就是我在 shh 中看到的 仍然错误没有控制空间知道当我将鼠标指向 django 时它出现未解析的引用“django”,而我安装它 pip install django==1.8 并且我每次运行 sudo pip install --ignore-installed virtualenvwrapper 因为当我使用 workon bookstore-django 在我运行 sudo pip install --ignore-installed virtualenvwrapper 之前它不会执行 我在这个领域太初学者了
(bookstore-django) bavlys-Mac:bookstore bavlymorcos$ ./manage.py makemigrations store
Traceback (most recent call last):
File "./manage.py", line 11, in <module>
execute_from_command_line(sys.argv)
File "/Users/bavlymorcos/.virtualenvs/bookstore-django/lib/python2.7/site-packages/django/core/management/__init__.py", line 338, in execute_from_command_line
utility.execute()
File "/Users/bavlymorcos/.virtualenvs/bookstore-django/lib/python2.7/site-packages/django/core/management/__init__.py", line 312, in execute
django.setup()
File "/Users/bavlymorcos/.virtualenvs/bookstore-django/lib/python2.7/site-packages/django/__init__.py", line 18, in setup
apps.populate(settings.INSTALLED_APPS)
File "/Users/bavlymorcos/.virtualenvs/bookstore-django/lib/python2.7/site-packages/django/apps/registry.py", line 108, in populate
app_config.import_models(all_models)
File "/Users/bavlymorcos/.virtualenvs/bookstore-django/lib/python2.7/site-packages/django/apps/config.py", line 198, in import_models
self.models_module = import_module(models_module_name)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/importlib/__init__.py", line 37, in import_module
__import__(name)
File "/Users/bavlymorcos/Desktop/development/bookstore/store/models.py", line 6, in <module>
class Book(models.Model):
File "/Users/bavlymorcos/Desktop/development/bookstore/store/models.py", line 10, in Book
publish_date = models.DateField(Default=timezone.now)
File "/Users/bavlymorcos/.virtualenvs/bookstore-django/lib/python2.7/site-packages/django/db/models/fields/__init__.py", line 1201, in __init__
super(DateField, self).__init__(verbose_name, name, **kwargs)
TypeError: __init__() got an unexpected keyword argument 'Default'
【问题讨论】:
您必须使用models.CharField
而不是models.Charfield
。注意字母大小写。
@Pyfisch 仍然错误没有控制空间知道当我将鼠标指针指向 django 时,当我安装它时出现未解析的引用“django” pip install django==1.8 并且我每次运行 sudo pip安装 --ignore-installed virtualenvwrapper 因为当我使用 workon bookstore-django 时它不会执行,直到我运行 sudo pip install --ignore-installed virtualenvwrapper 我在这个领域太初学者了
您能否编辑您的问题并包含此信息,还请更新错误消息。你应该注意如何写出你的问题。
您在此字段中有错字author = models.CharField(max_lenght = 200)
max_lenght
应该是max_length
@user2410723 正如 Brian 再次指出的一个错字。你会习惯他们的。字典和 Google 是您对抗它们的好朋友。
【参考方案1】:
Charfield
部分应为CharField
。
在 /Users/bavlymorcos/Desktop/development/bookstore/store/models.py 中,行号。 6、
应该是
title = models.CharField(max_length = 200)
即。字段中的 F 应为大写字母。 (CharField 代替 Charfield)
文档:https://docs.djangoproject.com/en/1.9/ref/models/fields/#django.db.models.CharField
【讨论】:
【参考方案2】:我解决了这个问题谢谢大家
问题出在model.py中,我把它改成了那样
from django.db import models
from django.utils import timezone
class Book(models.Model):
title = models.CharField(max_length=200)
author = models.CharField(max_length=200)
description = models.TextField()
publish_date = models.DateField(default=timezone.now)
【讨论】:
以上是关于django 和 python ./manage.py makemigrations 执行错误的主要内容,如果未能解决你的问题,请参考以下文章
初试django---python manage.py makemigrations以及python manage.py migrate
Django 中 python manage.py makemigrations 与 python manage.py migrate
python manage.py runserver 没有名为 django.core.management 的模块
Django学习——python manage.py startapp app-name新建app报错问题