Podano model Django o nazwie BlogPost
. Początkowo jest kodowany bez numeru Meta.verbose_name
. W chwili ./manage.py syncdb
, automatycznie tworzony jest ContentType
o nazwie "wpis na blogu". W pewnym późniejszym momencie dodano Meta.verbose_name
z "wpisu na blogu".Gdy zmieni się nazwa pliku verbose, w jaki sposób automatycznie aktualizować ContentType modelu?
Teraz istnieje rozbieżność: ContentType
nazywa się „blogu”, podczas gdy model przechodzi przez gadatliwym nazwą „Blog post”, różnica ta jest przedstawiona w dowolnej ramy za pomocą relacji rodzajowe, np w administratorze komentarzy. Chciałbym poprawić tę sytuację, zmieniając nazwę ContentType
, ale nie chciałbym tego zrobić ręcznie (z oczywistych względów) lub poprzez migrację (ponieważ nie migruję niczego innego, Meta.verbose_name
jest po prostu zmiana kodu).
Jak zaktualizować nazwę ContentType
po zmianie Meta.verbose_name
?
Działa doskonale dla mnie, thx! BTW, powinieneś oznaczyć to jako odpowiedź :) – Dave
Jeśli używasz specjalnych znaków w swojej pełnej nazwie, chcesz użyć 'new_name = cl._meta.verbose_name.decode ('utf-8')' –
Jeśli jesteś zastanawiasz się jak ja ** gdzie umieścić ten kod **, jest to miejsce na poziomie aplikacji '__init __. py'. –