He definido el modelo como abajo.
class UserType(models.Model):
user_type_id = models.AutoField(primary_key=True)
user_type_name_en = models.CharField(max_length=15)
user_type_name_de = models.CharField(max_length=15)
user_type_name_fr = models.CharField(max_length=15)
status = models.BooleanField()
def __unicode__(self):
return self.user_type_name_en
class Meta:
db_table = "usertype"
class User(models.Model):
user_id = models.AutoField(primary_key=True)
email_id = models.EmailField( blank=False, null=False)
user_type = models.ForeignKey(UserType )
He creado ModelForm para "Usuario" y enganchadocon una forma que funciona perfecta. De acuerdo con el código anterior, siempre obtengo "user_type_name_en" en mi menú desplegable (asignación de clave externa). Quiero cambiar dinámicamente el campo basado en la opción de idioma. ¿Cómo hacerlo?
Respuestas
0 para la respuesta № 1Si está utilizando la forma Django de hacer que su sitio sea multilingüe: https://docs.djangoproject.com/en/dev/topics/i18n/
Puedes hacer algo como:
from django.conf import settings
...
def __unicode__(self):
return getattr(self, "user_type_name_%s" % settings.LANGUAGE_CODE, self.user_type_name_en)