Я использую django -parler, чтобы сделать мое приложение django переводимым, и все работает нормально, но у меня есть модель для моих продуктов с отношением один ко многим:
class Product(TranslatableModel):
title = models.CharField(max_length=191)
price = models.FloatField()
translations = TranslatedFields(
description=models.TextField(_('description')),
any_language=True
)
category = models.ForeignKey(Category, on_delete=models.CASCADE, related_name='products',)
image = models.ImageField(
upload_to=image_files,
max_length=254, null=False
)
def __unicode__(self):
return self.description
class Meta:
ordering = ['id']
verbose_name = _('product')
verbose_name_plural = _('products')
, где категория также переводная модель. В моем администраторе, когда я хочу создать продукт, я получаю эту форму:
, как я могу изменить в этом выбранном объекте переводимый заголовок? вот мой admin.py:
class ProductAdminForm(TranslatableModelForm):
class Meta:
model = Product
exclude = ()
def __init__(self, *args, **kwargs):
super(ProductAdminForm, self).__init__(*args, **kwargs)
print(Category.objects.prefetch_related('translations').all())
self.fields['category'].queryset = Category.objects.prefetch_related('translations').all()
class ProductAdmin(TranslatableAdmin):
prefetch_language_column = True
form = ProductAdminForm
list_display = ('title', 'description', 'category', 'price', 'image')
fieldsets = (
(None, {
'fields': ('title', 'description', 'price', 'category', 'image'),
}),
)