1

/admin/delmarva/event/ での DatabaseError そのような列はありません: delmarva_event.eventdate

models.pyファイルにクラスを作成しました:

from django.db import models
from django.contrib.auth.models import User

class Event(models.Model):
    eventname = models.CharField(max_length = 100)
    eventdate = models.DateField()
    eventtime = models.TimeField()
    address = models.CharField(max_length = 200)
    user = models.ForeignKey(User)

    def __unicode__(self):
        return self.eventname

そして今、管理者またはメインページで自分のイベントを表示しようとすると、eventdate がないというエラーが表示されます。データベースを再度同期しようとしましたが、何も変わりませんでした。また、eventdate にハッシュタグを付けて、別のエラーが発生するかどうかを確認したところ、delmarva_event.eventtime存在しないことも示されました。イベント名で問題ないのでおかしいです。どんな提案でも大歓迎です!

4

3 に答える 3

3

モデルを変更すると、syncdb機能しません。 これらの「移行」を管理するsouthと呼ばれるサードパーティのツールが必要です。

そうでない場合、 - もう 1 つの非推奨方法は、テーブルを削除して再度作成することです。

于 2012-12-10T21:41:06.640 に答える
1

問題はおそらく、syncdb を実行してから eventdate 列を追加したことです。Syncdb は一度だけテーブルを作成し、それ以上更新しません。South アプリを使用して移行を行うか、テーブルを削除してから再度 syncdb を使用する必要があります。

于 2012-12-10T21:42:45.617 に答える
0

簡単な解決策は、データベースを削除してから再度 syncdb を実行することです。これは、manage.py ファイルと同じディレクトリにある必要があります。

于 2012-12-10T21:49:19.350 に答える