管理站点同时添加2个相关模型

时间:2014-07-18 13:33:41

标签: python django django-models django-admin

所以我有2个模型,如下:

class Movie(models.Model):
    # some fields here

class MovieGenre(models.Model):
    movie = models.ForeignKey(Movie)
    genre = models.CharField(max_length=256, choices=MOVIE_GRENRES)

这是我的模特管理员:

class MovieAdmin(admin.ModelAdmin):
    fields = ['title', 'description', 'publish_date', 'file_1080p', 'thumbnail']

我想要做的是让人们在管理页面中添加Movie模型,从列表中选择类型(有6种类型)作为复选框或类似的东西。因此,我不会创建2个不同的页面来添加电影和流派。

谢谢!

1 个答案:

答案 0 :(得分:1)

这是Model Admin Inlines的完美用例:

  

管理界面可以在同一页面上编辑模型   父模型。

     

这些被称为内联。

TabularInline的示例:

from django.contrib import admin

class MovieGenreInline(admin.TabularInline):
    model = MovieGenre

class MovieAdmin(admin.ModelAdmin):
    inlines = [
        MovieGenreInline,
    ]