我有一个带有 TabularInline 类型内联的 ModelAdmin 类。我想要的是 TabularInline 的每一行。 我需要做的是预先选择具有可用语言的选择框,以便它们中的每一个都将其中一种语言作为选定值(例如,第 1 行:英语,第 2 行:阿拉伯语,第 3 行:法语,第 4 行:西班牙语)。
请注意,行数是根据可用语言的数量生成的。
如有任何建议,我们将不胜感激。
我的代码如下所示:
admin.py
class SectorTranslationInline(admin.TabularInline):
model = SectorTranslation
form = SectorTranslationForm
def get_extra(self, request, obj=None, **kwargs):
lang_count = Language.objects.count()
return lang_count
def get_max_num(self, request, obj=None, **kwargs):
lang_count = Language.objects.count()
return lang_count
class SectorAdmin(admin.ModelAdmin):
inlines = [
SectorTranslationInline
]
models.py
class Sector(models.Model):
_name = models.CharField(max_length=255, null=False, default='')
class Language(models.Model):
name = models.CharField(max_length=255, null=True)
name_prefix = models.CharField(max_length=255, null=True)
class SectorTranslation(models.Model):
lang = models.ForeignKey(Language, related_name='lang_sector_translation', on_delete=models.CASCADE)
sector = models.ForeignKey(Sector, related_name='sector_translation', on_delete=models.CASCADE)
name = models.CharField(max_length=255, null=False, default='')