【问题标题】:Django displaying one to many relationship in the admin pageDjango 在管理页面中显示一对多关系
【发布时间】:2013-12-22 01:52:57
【问题描述】:

数据库示例:

class Brand(models.Model):
  brand_name = models.CharField(max_length=30


class Model(models.Model):
  brand = models.ForeignKey(Brand)
  model_name =  models.CharField(max_length=30)

现在在管理员中

admin.site.register(Brand)

class ModelAdmin(admin.ModelAdmin):
  list_display = ['brand', 'model_name']
  fields = ['model_name', 'brand']
admin.site.register(Model, ModelAdmin)

如何在 BrandAdmin 页面中显示与一个品牌关联的所有型号? 就目前而言,“品牌”页面仅显示品牌,不显示与其关联的任何型号。

【问题讨论】:

    标签: python database django


    【解决方案1】:

    嗯,你最好的选择是django inlines

    #admin.py    
    
    class ModelAdmin(admin.ModelAdmin):
      list_display = ['brand', 'model_name']
      fields = ['model_name', 'brand']
    
    class ModelInline(admin.TabularInline):
        model = Model
    
    class BrandAdmin(admin.ModelAdmin):
        model = Brand
        inlines = [
            ModelInline,
        ]
    
    
    admin.site.register(Brand, BrandAdmin)
    admin.site.register(Model, ModelAdmin)
    

    【讨论】:

    猜你喜欢
    • 2011-07-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多