Django admin で、条件付きの値を持つと思われるインライン フォームを作成しています。
たとえば、私はこのモデルを持っています
class Category (models.Model):
name = models.CharField(max_length=500)
parent = models.ForeignKey('self', blank=True, null=True, related_name='subcategory')
def __unicode__(self):
return self.name
class Business(models.Model):
category = models.ForeignKey(Category)
name = models.CharField(max_length=500)
def __unicode__(self):
return self.name
class DescriptionType (models.Model):
category = models.ManyToManyField(Category)
name = models.CharField(max_length=500)
def __unicode__(self):
return self.name
class Descriptions (models.Model):
descriptiontype = models.ForeignKey(DescriptionType)
business = models.ForeignKey(Business)
だから、私はCategory
(「レストラン」)とDescriptionType
(「レストラン」にのみ属する「フードスペシャリティ」)を持っています。
したがって、カテゴリ「レストラン」でビジネス「フォスター ハリウッド」を作成したいと思います。また、管理者のインライン DescriptionsInline で、カテゴリ「レストラン」に属する DescriptionTypes のみを選択できるようにしたいと考えています。私の現在のソリューションは、説明タイプのすべての値を表示します
class DescriptionsInline(admin.TabularInline):
model = Descriptions
extra = 0
class BusinessAdmin(admin.ModelAdmin):
inlines = [DescriptionsInline]
list_display = ('name',)
search_fields = ['name']
admin.site.register(Business, BusinessAdmin)
の選択したカテゴリからのみインラインDescriptionsInline
表示を行うにはどうすればよいですか?DescriptionTypes
Business