2010-10-30 6 views
6

L'uso di "app_label" nella "Classe Meta" risolverà questo problema. Ma non creerà le tabelle durante l'emissione del comando 'syncdb'. Perché il nome dell'app non corrisponde alla voce INSTALLED_APPS. C'è un modo per ottenere entrambi (nome app personalizzato e creare tabelle con syncdb)Interfaccia di Django Admin - Nome app personalizzato

+0

Stai cercando di avere nomi di tabelle personalizzati? Cosa stai cercando di ottenere? –

+0

@Dominic Penso che voglia cambiare i nomi delle applicazioni (etichette) che compaiono nell'interfaccia di amministrazione con alcuni nomi personalizzati. –

+0

@Dominic @anand è corretto. Mi piacerebbe avere nomi di applicazioni personalizzate nell'interfaccia di amministrazione. –

risposta

0

Non ho provato questo, ma here c'è una soluzione che dovrebbe consentire di cambiare l'etichetta app mentre si lavora con 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" 

Questo ha senso, dal momento che il nome della tabella è resa esplicita, quindi non c'è alcun guessing durante l'esecuzione syncdb. Lo svantaggio è che queste due opzioni Meta devono essere specificate in ogni modello dell'app.