2010-07-23 5 views
1

Dans mon application Django, mon modèle a des valeurs définies comme propriétés - elles sont calculées à la demande à partir d'autres valeurs (comme, valeur minimale du champ d'autres objets, etc.). Cela fonctionne assez bien car je n'ai pas besoin de stocker ceux dans la base de données et les calculs peuvent être coûteux, donc ils sont mis en cache.Affichage des propriétés dans Django admin - traduction de leurs noms

J'ai donc un modèle:

class A(models.Model): 
    name = models.TextField(_('Name')) 

    def max_of_some_values(self): 
     # calculate it here, with caching,etc 
     return 1 
    max_value = property(max_of_some_values) 

Quand je montre dans mon application d'administration, sur la liste des objets de la colonne name affiche en utilisant c'est la traduction. Donc en polonais c'est Nazwa, en anglais c'est Name, etc.

En même temps, je n'ai trouvé aucun moyen d'ajouter un nom de 'colonne' traduit pour ma propriété.

Quelqu'un a-t-il déjà pris cela en charge?

Répondre

2

Vous pouvez définir une propriété short_description sur la méthode pour déterminer le nom de la colonne - je pense qu'il devrait être possible de marquer cela comme traduisible.

def max_of_some_values(self): 
    # calculate it here, with caching,etc 
    return 1 
max_of_some_values.short_description = _('Max value') 
Questions connexes