DataBase运行python manage.py runserver时出错

时间:2013-02-13 19:59:22

标签: database django

我正在使用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文件有关,但我不知道为什么。

1 个答案:

答案 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