如何使Django管理员显示OneToMany而不是ForeignKey

时间:2015-04-14 14:21:21

标签: python django django-models

在Django管理页面中,当我们在对象中使用ForeignKey时,管理员会显示在模型中设置具有ForeignKey值的ForeignObject的选项。

例如:

class Diferencial(SobreFather):
    class Meta:
        verbose_name = 'Diferencial'
        verbose_name_plural = 'Diferenciais'

class DiferencialItem(models.Model):
    diferencial = models.ForeignKey(Diferencial)
    icone = models.ImageField(upload_to="icones_diferencial")
    texto = models.CharField(max_length=50, null=False, blank=False)

    def __unicode__(self):
        return self.diferencial

    class Meta:
        verbose_name = 'Item Diferencial'
        verbose_name_plural = 'Itens Diferencial'

此代码将显示在django admin中选择与DiferencialItem相关的Diferencial对象的选项。

有没有办法在Diferencial管理视图中显示创建DiferencialItem的选项?

1 个答案:

答案 0 :(得分:2)

是的,请使用inline model admin

class DiferencialItemInline(admin.TabularInline):
    model = DiferencialItem

class DiferencialAdmin(admin.ModelAdmin):
    inlines = [DiferencialItemInline]