
上QQ阅读APP看书,第一时间看更新
Getting ready
Let's create the default Django administration for the Idea model and its translations:
# myproject/apps/ideas/admin.py
from django import forms
from django.contrib import admin
from django.utils.translation import gettext_lazy as _
from myproject.apps.core.admin import LanguageChoicesForm
from .models import Idea, IdeaTranslations
class IdeaTranslationsForm(LanguageChoicesForm):
class Meta:
model = IdeaTranslations
fields = "__all__"
class IdeaTranslationsInline(admin.StackedInline):
form = IdeaTranslationsForm
model = IdeaTranslations
extra = 0
@admin.register(Idea)
class IdeaAdmin(admin.ModelAdmin):
inlines = [IdeaTranslationsInline]
fieldsets = [
(_("Author and Category"), {"fields": ["author", "categories"]}),
(_("Title and Content"), {"fields": ["title", "content",
"picture"]}),
(_("Ratings"), {"fields": ["rating"]}),
]
If you access the administration form for the ideas, it will look like this: