0

South を使用して、モデルの 1 つに新しいフィールド is_private を追加したいと考えました。

チュートリアルに従って、models.py ファイルを変更した後、これを行う必要があります。

./manage.py schemamigration reconstructions --auto

戻り値:

 Added field is_private on reconstructions.Reconstruction
Created 0005_auto__add_field_reconstruction_is_private.py. You can now apply this migration with: ./manage.py migrate reconstructions

これは素晴らしいことです。さて、次のステップは、

python manage.py migrate reconstructions

そしてそれは印刷します:

- Migrating forwards to 0005_auto__add_field_reconstruction_is_private.
 > reconstructions:0005_auto__add_field_reconstruction_is_private
 - Loading initial data for reconstructions.
No fixtures found.

それはそれの仕事をしているようです。しかし、後でフィールド is_private をチェックすると、Django からエラーがスローされます。

Cannot resolve keyword 'is_private' into field.

これは、南がデータベースをまったく変更していないことを示しています。どうしてですか?

追加情報: モデル クラス:

class Reconstruction(models.Model):
    id = models.CharField(max_length=36, primary_key=True,
                          editable=False)

    uploader = models.ForeignKey(User, blank=True, null=True)
    status = models.TextField(blank=True)
    viewcount = models.IntegerField(default=0)
    error_flag = models.IntegerField(default=0)
    is_done = models.BooleanField(default=False)
    create_date = models.DateTimeField(auto_now=True)
    last_modified_date = models.DateTimeField(auto_now=True)
    is_private = models.BooleanField(default=True)

クラッシュの原因となったコード:

recordings = Recording.objects.filter(is_done=True).filter(is_private=False).order_by('-create_date')
4

1 に答える 1

3

観察: に追加is_privateしましたが、そのプロパティに基づいてオブジェクトをReconstructionフィルタリングしようとしています。Recordingおそらくこれが問題ですか?

于 2012-07-27T14:52:33.610 に答える