2010-10-30 14 views
6

Użycie etykiety "app_label" w "Meta klasy" rozwiąże ten problem. Ale nie utworzy tabele podczas wydawania polecenia "syncdb". Ponieważ nazwa aplikacji nie będzie pasować do wpisu INSTALLED_APPS. Czy istnieje sposób na osiągnięcie obu (niestandardowa nazwa aplikacji i tworzenie tabel za pomocą syncdb)?Interfejs administracyjny Django - nazwa aplikacji niestandardowej

+0

Czy próbujesz mieć niestandardowe nazwy tabel? Co próbujesz osiągnąć? –

+0

@Dominic Myślę, że chce zmienić nazwy aplikacji (etykiety), które pojawiają się w interfejsie administratora na niektóre niestandardowe nazwy. –

+0

@ Dominic @anand jest poprawna. Chciałbym mieć niestandardowe nazwy aplikacji w interfejsie administratora. –

Odpowiedz

0

Nie próbowałem tego, ale here istnieje rozwiązanie, które powinno umożliwiać zmianę etykiety aplikacji podczas pracy z 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" 

Ma to sens, ponieważ nazwa tabeli jest jawne, więc nie ma guessing gdy uruchomiony syncdb. Wadą jest to, że te dwie opcje muszą być określone w każdym modelu aplikacji.