I am using django-parler to translate models. In django admin page, When I change the language, the foriegn key isn’t changing to current language, always displaying default language. enter image description here
class Country(TranslatableModel):
translations = TranslatedFields(
title = models.CharField(max_length=255, blank=True, null=True),
name = models.CharField(max_length=50)
)
def __str__(self):
# return self.name
return self.safe_translation_getter('name', any_language=True)
class Tour(TranslatableModel):
translations = TranslatedFields(
title=models.CharField(max_length=255, db_index=True),
)
country = models.ForeignKey(Country, on_delete=models.CASCADE)
I tried customizing admin form.
class Tour(TranslatableModel):
translations = TranslatedFields(
title=models.CharField(max_length=255, db_index=True),
)
country = models.ForeignKey(Country, on_delete=models.CASCADE)
class TourAdminForm(TranslatableModelForm):
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
self.fields['country'].queryset = Country.objects.language('es') #for debug spanish lang
print(self.fields['country'].queryset) # prints the translation, but doesn't display in admin page
New contributor
Dovudkhon Azizov is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.