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
6
A
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.
Czy próbujesz mieć niestandardowe nazwy tabel? Co próbujesz osiągnąć? –
@Dominic Myślę, że chce zmienić nazwy aplikacji (etykiety), które pojawiają się w interfejsie administratora na niektóre niestandardowe nazwy. –
@ Dominic @anand jest poprawna. Chciałbym mieć niestandardowe nazwy aplikacji w interfejsie administratora. –