カテゴリには「種類」(たとえば、3種類のカテゴリ)があります。各カテゴリには、任意の数の動画を含めることができます。また、「1」のカテゴリーで公開された各ビデオは、任意の数の画像を有することができる。しかし、ビデオの場合、 '2'と '3'カテゴリーのタイプにはピクチャーはありません。Django:選択オプションに基づいてインラインを変更する
models.py:
class Category(models.Model):
title = models.CharField()
CHOICES = (
('1','1'),
('2','2'),
('3','3'),
)
type = models.CharField(choices=CHOICES)
class Video(models.Model):
category = models.ForeignKey(Category)
class Picture(models.Model):
video = models.ForeignKey(Video)
title = models.Charfield()
admin.py:
class PictureInline(admin.TabularInline):
model = Picture
extra = 5
class VideoAdmin(admin.ModelAdmin):
inlines = [PictureInline,]
質問:
私はビデオの項目を追加し、それには、カテゴリを選択すると、どのように私はdinamicallyどのタイプoに基づいてPictureInlineを表示することができますfビデオ用に選択されたカテゴリ?
選択リストで最初のカテゴリを選択した場合、私は管理者のPictureInlineを見たいと思っています。他のカテゴリを選択した場合、私はPictureInlineを見たくありませんでした。
可能ですか?
PS:私はhttps://github.com/digi604/django-smart-selectsが見つかりましたがインライン
ありがとうございます!これで、選択したカテゴリに応じてインラインを動的に表示/非表示できます。しかし、私が書いた質問では、インラインの見た目や消失はCategory.typeに依存します。その偉大なソリューションをアップグレードするための任意の亜種ですか?私は、どのタイプのカテゴリが選択されているかを判断するために、JS関数内でいくつかのクエリが必要であると考えます。 – Friendka
上記の回答は必要なAJAX機能を含むように更新されました。 –
大変ありがとう、chrisdpratt! – Friendka