0

目前在 Django 上工作。我有以下型号:

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)

    def __unicode__(self):
        nombreCompleto = "%s %s"%(self.nombre,self.apellidos)
        return nombreCompleto

class producto(models.Model):

    def url(self, filename):
        ruta = "MultimediaData/Producto/%s/%s"%(self.nombre, str(filename))
        return ruta

    nombre      = models.CharField(max_length = 100)
    descripcion = models.TextField(max_length = 300)
    status      = models.BooleanField(default = True)
    imagen      = models.ImageField(upload_to = url)
    precio      = models.DecimalField(max_digits = 6, decimal_places = 2) 
    stock       = models.IntegerField()

    def __unicode__(self): 
        return self.nombre

当我尝试在管理员下访问时clienteproducto我得到了 (1054, "Unknown column 'ventas_cliente.apellidos' in 'field list'")错误。怎么了?

4

1 回答 1

1

您可能apellidos在完成第一个之后添加了该列syncdb。当您第一次使用 syncdb 时,会在数据库中创建表。之后,对模型的任何更改都不会应用于您的数据库。您必须自己使用ALTER TABLESQL 命令或通过删除表(如果您不需要其中的数据)并syncdb再次运行来进行更改。

我建议您检查South

South 可以查看您的 models.py 文件中的更改并自动编写与您的更改相匹配的迁移。

于 2013-03-29T00:24:30.290 回答