Django阅读旧模型?

时间:2009-06-12 09:00:41

标签: django models

我改变了模型,同步了数据库,现在我做了:

Prs = Products.objects.filter(PrName__icontains='bla')

我收到错误:

    ERROR:  column search_products.pr_name does not exist
LINE 1: SELECT "search_products"."id", "search_products"."pr_name", ...

但是pr_name是旧模型,这就是新模型的样子:

class Products(models.Model):
  PrName = models.CharField(max_length=255)
  PrDescription = models.CharField(max_length=4000)
  PrPrice = models.DecimalField(max_digits=5, decimal_places=2)
  PrCompany =  models.ForeignKey(Companies)

  def __str__(self):
    return self.PrName

为什么我收到此错误?我同步数据库100次,检查了所有代码,在任何地方都没有引用pr_name?

2 个答案:

答案 0 :(得分:2)

您是否尝试过重启服务器?如果您使用的是开发服务器以外的任何其他内容,则可能需要在进行此类更改后手动执行此操作。

答案 1 :(得分:0)

不幸的是,您尝试做的事情是django开箱即用的not supported: - (

但您可以通过向字段添加db_column或通过导出数据,从数据库中删除表,编辑导出文件,重新创建数据库表以及重新导入数据来执行以太操作。

另请参阅各种schema evolution解决方案