Hello guys i need a help for translating models values. I use django-modeltranslation package. I have managed to register my models.
class Institution(models.Model):
title = models.CharField(_('Title'),max_length = 200)
address = models.CharField(_('Address'),max_length=50)
pobox = models.CharField(_('Pobox'),max_length=5)
city = models.CharField(_('City'),max_length=64)
country = models.CharField(_('Country'),max_length=50)
telephone = models.CharField(_('Telephone'),max_length = 10)
def __str__(self):
return self.title
class Department(models.Model):
title = models.CharField(_('Title'),max_length = 200)
address = models.CharField(_('Address'),max_length=50)
pobox = models.CharField(_('Pobox'),max_length=5)
city = models.CharField(_('City'),max_length=64)
country = models.CharField(_('Country'),max_length=50)
telephone = models.CharField(_('Telephone'),max_length = 10)
institution=models.ForeignKey(Institution,on_delete=models.CASCADE,verbose_name=_('User'))
def __str__(self):
return self.title
Register
@register(Institution)
class InstitutionTranslationOptions(TranslationOptions):
fields = ('title', 'address','city','country')
@register(Department)
class DepartmentTranslationOptions(TranslationOptions):
fields = ('title', 'address','city','country')
Here is how i change language:
<form action="{% url 'set_language' %}" method="post">{% csrf_token %}
<input name="next" type="hidden" value="{{ redirect_to }}">
<select name="language">
{% get_current_language as LANGUAGE_CODE %}
{% get_available_languages as LANGUAGES %}
{% get_language_info_list for LANGUAGES as languages %}
{% for language in languages %}
<option value="{{ language.code }}"{% if language.code == LANGUAGE_CODE %} selected{% endif %}>
{{ language.name_local }} ({{ language.code }})
</option>
{% endfor %}
</select>
<input type="submit" value="Go">
</form>
Ok i open admin i put values for the 2 languages but in template i cant get them... I get only the default value... I use: {{ department.title }} Am I doing something wrong?