как сделать переводимые отношения в django admin с django parler - PullRequest
0 голосов
/ 12 апреля 2020

Я использую 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')

, где категория также переводная модель. В моем администраторе, когда я хочу создать продукт, я получаю эту форму: enter image description here

, как я могу изменить в этом выбранном объекте переводимый заголовок? вот мой 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'),
        }),
    )
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...