czytanie dokumentacji Django:Django przy użyciu get_user_model vs settings.AUTH_USER_MODEL
get_user_model()
Zamiast bezpośrednio odnoszące się do użytkownika, należy odwołać się do użytkownika modelu korzystania django.contrib.auth .get_user_model(). Ta metoda zwróci aktualnie aktywny model użytkownika - niestandardowy model użytkownika, jeśli określono opcję lub Użytkownik w przeciwnym razie.
Podczas definiowania klucza obcego lub relacji wielu do wielu do modelu użytkownika należy określić niestandardowy model przy użyciu ustawienia AUTH_USER_MODEL .
Jestem zmieszany z powyższym tekstem. Powinienem tego robić:
author = models.ForeignKey(settings.AUTH_USER_MODEL)
czy to ...
author = models.ForeignKey(get_user_model())
Oba wydają się działać.
Konkretnie, można uruchomić w kwestii importu z okrągłymi models.ForeignKey (get_user_model()) –
[Ta część docs] (https://docs.djangoproject.com/en/1.8/topics/auth/customizing/# referencing-the-user-model) mówi "Mówiąc ogólnie, powinieneś odwołać się do modelu użytkownika za pomocą ustawienia' AUTH_USER_MODEL' w kodzie, który jest wykonywany w czasie importu. 'get_user_model()' działa tylko raz Django zaimportował wszystkie modele. " –
Tak więc, w funkcjach (widoki, modele/serializery/metody formularzy), użyj 'get_user_model()', dla atrybutów klas użyj 'AUTH_USER_MODEL'? –