イベントをリストするdjangoアプリケーションに既存のイベントモデルがあります。イベントには、関連するポスターを格納するためにmodels.ImageFieldを使用していたポスターフィールドがあります。イベントのアップロードは管理者からのみ制御されていたため、アップロードは公開されていません。データベースには約50件のイベントがあり、うまくいきました。 イメージが重くなっているので、私はsorl.thumnailをdjangoに追加しようとしました。私のmodels.pyファイルで、sorl.thumbnailsからImageFieldをインポートし、それをポスターフィールドに追加しました。偶然削除後のDjangoモデルフィールドの復元
私はmakemigrationsを実行したときに 'alter field poster'と報告しました。その後、移行を実行し、再読み込み時に管理者の[ポスター]フィールドが表示されません。 既存のイベントでさえ、ポスターフィールドを失ってしまい、画像もテンプレートに表示することはできません。
変更を元に戻して移行を再実行しましたが、ポスターフィールドはまだ表示されません。モデルを復元して既存のポスター画像に再接続する方法はありますか? 私はpython 3.5とdjango 1.11を使用しています。他のすべては正常に動作しますが、これはもう少し速度を上げるための愚かなミスのようです。
ご意見ありがとうございます。ここで
は私のイベントモデルがclass Events(models.Model): title = models.CharField(max_length=200) note = RichTextUploadingField() category = models.CharField(max_length=1, choices=EVENT_TYPES, verbose_name=_('Event Category')) date_from = models.DateTimeField(auto_now=False, blank=False) date_to = models.DateTimeField(auto_now=False, blank=False) poster = models.ImageField(upload_to='Programs/', blank=True, max_length=100, width_field=None, height_field=None) video = models.URLField(max_length=500, blank=True) capacity = models.SmallIntegerField(blank=True) venue = GeopositionField(blank=True)
Admin.pyだから、単にレジスタ機能
class EventAdmin(admin.ModelAdmin):
list_display = ('title', 'date', 'venue', 'category')
admin.site.register(イベント、EventAdmin)
データベースにはポスターデータがありますか?もしそうでなければ、それらを取り戻すことはできません。既にデータベースから削除されているものです – Exprator
アップロードされたファイルを見ることができます。 djangoの管理領域には、もうポスターのフィールドがありません。私は、初期状態にmodels.pyを復元しようとしていて、マイグレーションを実行していますが、それでもポスターフィールドは戻っていません。私はイベントモデル定義 –
を追加しました。admi.pyのコードを表示して、あなたが実際に必要としているものと実際に必要なものを教えてください。 – Exprator