如何让 Django 管理员显示 OneToMany 而不是 ForeignKey
How to make Django admin shows OneToMany instead of ForeignKey
当我们在对象中使用 ForeignKey 时,在 Django 管理页面中,管理会显示在具有 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'
此代码将显示 select 与 django admin 中的 DiferencialItem 相关的 Diferencial 对象的选项。
有没有办法显示在差异管理视图中创建差异项的选项?
是的,使用 inline model admin:
class DiferencialItemInline(admin.TabularInline):
model = DiferencialItem
class DiferencialAdmin(admin.ModelAdmin):
inlines = [DiferencialItemInline]
当我们在对象中使用 ForeignKey 时,在 Django 管理页面中,管理会显示在具有 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'
此代码将显示 select 与 django admin 中的 DiferencialItem 相关的 Diferencial 对象的选项。
有没有办法显示在差异管理视图中创建差异项的选项?
是的,使用 inline model admin:
class DiferencialItemInline(admin.TabularInline):
model = DiferencialItem
class DiferencialAdmin(admin.ModelAdmin):
inlines = [DiferencialItemInline]