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!