0

過去 1 時間、これを修正しようとしてきましたが、何を省略したのかわかりません。これは、以前のデータのない初めてのプロジェクトです。ただし、管理パネルからデータを追加しようとすると、次のエラーが表示されます。

DatabaseError at /admin/judge/event/

relation "judge_event" does not exist
LINE 1: SELECT COUNT(*) FROM "judge_event"
                             ^

Request Method:     GET
Request URL:    http://127.0.0.1:8012/admin/judge/event/
Django Version:     1.4.3
Exception Type:     DatabaseError
Exception Value:    

relation "judge_event" does not exist
LINE 1: SELECT COUNT(*) FROM "judge_event"

参照用の私のモデル:

class Event(models.Model):
    competition_start = models.DateTimeField() 
    competitors = models.ManyToManyField('Picture')
    results = models.CommaSeparatedIntegerField(max_length=20)

class Picture(models.Model):
    uploader = models.ForeignKey(UserProfile)
    upload_date = models.DateTimeField()
    image = models.ImageField(upload_to="media")
    score = models.DecimalField(max_digits=10,decimal_places=10)
    score_RD = models.DecimalField(max_digits=10,decimal_places=10)
    rated = models.BooleanField()
    last_competed = models.DateTimeField() 
    competition = models.OneToOneField(Event) 

すべてのメモを 3 回確認しましたが、何か違うことをしたことに気づきませんでした。

「judge_event」は「judge_Event」であるべきですか?

4

1 に答える 1

2

モデルに破壊的な変更を加えました (外部キーの追加など)。syncdbスキーマに破壊的な変更を加えることはありません。

そのため、新しいスキーマが正しく適用されるように、テーブルを削除してから syncdb を実行する必要があります。

移行と呼ばれるこのような変更をサポートするアプリケーションがあります。

これらの中で最も人気のあるのはsouth. django に慣れたら、使い始めることができます。

于 2012-12-27T04:39:29.527 に答える