0

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表示を行うにはどうすればよいですか?DescriptionTypesBusiness

4

1 に答える 1