我有一个Django 1.8.7应用程序和一个带字段内联的模型" description"用多种语言。
目标是每种语言都没有或一个内联顶部。如何确保语言未填充两次并强制每个语言和对象使用一个内联?
是否可以使用Inline中的语言下拉,但不能编辑,并且每种语言都预先填充一种语言。例如,假设我在Django设置中使用德语和英语作为语言。然后我想要一个代表德语的Inline和一个代表英语的Inline。
有没有人有想法如何实现?
代码段:
models.py:
class LocalizedAuthorDetails(models.Model):
language = models.CharField(
_('language'),
max_length=64,
db_index=True,
choices=get_author_language_choices(),
default=get_author_language_choices()[0],
)
external_author = models.ForeignKey(
'ExternalAuthor', verbose_name=_('external_author'))
description = models.TextField(
_('description'),
blank=True,
null=True
)
comment = models.TextField(
_('comment'),
blank=True,
default=''
)
AdminInline:
class LocalizedAuthorDetailsBackend(admin.StackedInline):
model = LocalizedAuthorDetails
max_num = len(settings.LANGUAGES)
使用Inline的AdminForm:
class AuthorBackend(BackendModelAdmin, ExternalAuthorAdmin):
list_display = ('Thumbnail', 'FullName', 'email', 'public')
inlines = (LocalizedAuthorDetailsBackend, )