2010-10-30 7 views
6

L'utilisation de 'app_label' dans la classe Meta résoudra ce problème. Mais il ne créera pas de tables lors de l'exécution de la commande 'syncdb'. Parce que le nom de l'application ne correspondra pas à l'entrée INSTALLED_APPS. Y a-t-il un moyen de réaliser à la fois (nom de l'application personnalisée et création de tables avec syncdb)Django Admin Interface - Nom de l'application personnalisée

+0

Essayez-vous d'avoir des noms de table personnalisés? Qu'essayez-vous d'accomplir? –

+0

@Dominic Je pense qu'il veut changer les noms d'application (étiquettes) qui apparaissent dans l'interface d'administration à certains noms personnalisés. –

+0

@Dominic @anand est correct. Je voudrais avoir des noms d'applications personnalisées dans l'interface d'administration. –

Répondre

0

Je n'ai pas essayé cela, mais here il y a une solution qui devrait permettre de changer l'étiquette de l'application tout en travaillant avec syncdb.

class model_module1(models.model): 
    [...] 

    class Meta: 
     app_label = "Cool module name" 
     db_table = "module1_model" 

class model_module2(models.model): 
    [...] 

    class Meta: 
     app_label = "Cool module name" 
     db_table = "module2_model" 

Cela est logique, puisque le nom de la table est explicite, donc il n'y a pas guessing lors de l'exécution syncdb. L'inconvénient est que ces deux options Meta doivent être spécifiées dans chaque modèle de l'application.