django 1.5 rozszerza domyślny model użytkownika lub zastępuje go

Env: Django 1.5.1 + Django CMS 2.4.1 + najnowsze Zinnia + moje niestandardowe aplikacje + niestandardowa wtyczka CMS Django

Zasadniczo mogę rozszerzyć domyślny model użytkownika Django (1.5.X)Samouczek Django Ribbit na NetTuts +

lub

Zastąp całkowicie dostosowany model jakDokument Django Dev lub przykład Django2Scoops w akapicie: „Radzenie sobie z modelem użytkownika”

Aby przetestować, zdecydowałem się na książkę podklasy AbstractUser From Django2Scoops: „Wybierz tę opcję, jeśli chcesz, aby pola modelu użytkownika Django były takie, jakie są, ale potrzebują dodatkowych pól.”

Ale mam następujące błędy:

notification.noticesetting: „użytkownik” definiuje relację z modelem „auth.User”, który został zamieniony. Zaktualizuj relację tak, aby wskazywała na settings.AUTH_USER_MODEL. cmsplugin_zinnia.latestentriesplugin: 'autorzy' definiuje relację z modelem 'auth.User', który został zamieniony. Zaktualizuj relację tak, aby wskazywała na settings.AUTH_USER_MODEL.

cms.pageuser: „created_by” definiuje relację z modelem „auth.User”, który został zamieniony. Zaktualizuj relację tak, aby wskazywała na settings.AUTH_USER_MODEL. cms.pageusergroup: „created_by” definiuje relację z modelem „auth.User”, który został zamieniony. Zaktualizuj relację tak, aby wskazywała na settings.AUTH_USER_MODEL.

Po godzinach czytania i testu znalazłem

Określanie niestandardowego modelu użytkownika (rozszerza AbstractUser) nie działa

Jak mówi komunikat o błędzie - musisz zaktualizować relację tak, aby wskazywała na settings.AUTH_USER_MODEL. Drugi błąd („Model został wymieniony…”) jest efektem ubocznym faktu, że odwołujesz się bezpośrednio do modelu użytkownika. Po zmianie odnośników ForieignKey ten trzeci błąd zniknie. Zrobiliśmy wszystko, co w naszej mocy, aby zapewnić płynne przejście do nowego modelu użytkownika, ale nie może być całkowicie przezroczysty. Twórcy aplikacji będą musieli zaktualizować swoje aplikacje, aby były zgodne z 1.5. Zasadniczo aplikacja Django 1.4 nie będzie w 100% zgodna z Django 1.5, jeśli zawiera zakodowane odniesienie klucza obcego do użytkownika. Czy mógłbyś podać mi więcej przykładów?

IDjango / Python: zaktualizuj relację tak, aby wskazywała na settings.AUTH_USER_MODEL

w settings_example.py masz AUTH_USER_MODEL = 'users.User'. Jednak używasz aplikacji - menu.bookmark - która ma związek z django.contrib.auth.User - nie możesz mieć obu. Ustawienie AUTH_USER_MODEL oznacza, że ​​zastępujesz wbudowany model użytkownika Django swoim własnym. Widziećhttp://procrastinatingdev.com/django/using-configurable-user-models-in-django-1-5/ dla szczegółów.

Ale nie rozumiem, jak to rozwiązać.

Czego potrzebowałbym:

-Użytkownicy są powiązani z klasą instytutów (jeden instytut -> więcej użytkowników)

-Użytkownicy lub instytuty mogą mieć różne uprawnienia i zobaczyć różne strony / wtyczki cms django.

- Kilka dodatkowych pól dla użytkownika.

Czy podklasa AbstractUser jest właściwym punktem?

Jak mogę rozwiązać błąd „wymieniany”?

Powinienem stworzyć coś podobnegoKod OpenTreeMap

Czy ten kod nie jest przestarzały?

Dzięki!

questionAnswers(2)

yourAnswerToTheQuestion