我正在使用PowerShell上的Django 1.4.3,并在运行python manage.py
之后收到DataBase错误
例外值:
(1054, "Unknown column 'ventas_cliente.apellidos' in 'field list'")
所以我正在关注Django教程,我有一个项目的以下目录:
demo/
demo/
apps/
ventas/
__init__.py
admin.py
models.py
tests.py
views.py
__init.py
__init__.py
settings.py
urls.py
wsgi.py
manage
在admin.py下我有:
from django.contrib import admin
from demo.apps.ventas.models import cliente.producto
# Register the ventas models
admin.site.register(cliente)
admin.site.register(producto)
来自models.py,
from django.db import models
class cliente(models.Model):
nombre = models.CharField(max_length=200)
apellidos = models.CharField(max_length=200)
status = models.BooleanField(default=True)
class producto(models.Model):
nombre = models.CharField(max_length=200)
descripcion = models.TextField(max_length=300)
status = models.BooleanField(default=True)
我正在使用MySQL而我没有更改数据库。 runserver
确实有效,我可以访问localhost:8000 / admin。在那里,我有一个名为“ventas”的新类别,其中包含“cliente”和“producto”子类别。我可以访问“producto”,但“cliente”给我DataBase错误。
什么似乎错了?我怀疑它与我的models.py文件有关,但我不知道为什么。
答案 0 :(得分:-1)
您的model.py和代码不同步。
$ python manage.py syncdb
浏览模型,如果该模型的表格不存在,请创建表格和匹配字段。如果表 存在,则表格不执行任何操作。因此,如果您添加了一个字段,那么“syncdb”虽然听起来像是这样,但不会在数据库中创建自上次syncdb以来添加的字段。
如果要同步模型和代码,则必须删除表,以便syncdb创建它们。您可以使用:
$ python manage.py flush
“将数据库返回到syncdb执行后立即处于的状态。” 资源。 https://docs.djangoproject.com/en/dev/ref/django-admin/#flush