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报错问题

Python Django manage.py提供的命令及用法

django python manage.py runserver 流程