0

私はモデルを持っています:

class mymodel(models.Model):
    order_closed = models.BooleanField(default=False)

このフィールドは、既に存在するモデル/テーブルの新しいフィールドであるため、開発用の mysqllite db に手動で追加しました。次に試しました:

mymodel.objects.filter(order_closed=False) #and with True

そして、不正確または予測不可能な結果を​​生み出します。sqlliteの可能性があるという言及を見ましたが、わかりませんか? テンプレートは true 値か false 値かを理解しているようですが、python コードは理解していません。いくつかの例で明確にするために:

{{mymodel.order_closed}} は、sqllite でデフォルトを 0 に設定した後、0 を出力します。ただし、.filter(order_closed=value) を使用すると、すべてのレコードが返されます。

4

1 に答える 1

0

SQLの作成で間違いを犯したと思います。いくつかの重要な情報があるdbがある場合は

south

http://south.aeracode.org/

あなたがそれを持っているとき、あなたはあなたのデータベースを簡単にアップグレード/編集することができます。

新しい「プラグイン」をインストールしたくない場合は、それを試してください。1.このフィールドをDBから手動で削除します。2.書き込み:python manage.pysql'アプリの名前'

アプリのCREATETABLESQLステートメントを返します。

次に、CReateコマンドを使用して、データベースを手動でアップグレードできます。

于 2012-11-26T11:43:31.293 に答える