1

モデルを変更し、データベースを同期しました。

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

なぜこのエラーが発生するのですか?dbを100回同期し、すべてのコードをチェックしましたが、pr_nameへの参照はどこにもありませんか?

4

2 に答える 2

2

サーバーを再起動してみましたか?開発サーバー以外のものを使用している場合は、このような変更を加えた後、手動で行う必要があります。

于 2009-06-12T15:25:38.230 に答える
0

残念ながら、あなたがやろうとしていることは、箱から出してすぐにdjangoでサポートされていません:-(

ただし、フィールドにdb_columnを追加するか、データをエクスポートし、データベースからテーブルを削除し、エクスポートファイルを編集し、データベーステーブルを再作成して、データを再インポートすることで、これを行うことができます。

また、そこにあるさまざまなスキーマ進化ソリューションも見てください

于 2009-06-12T09:15:12.863 に答える