django 1.5 erweitert das Standardbenutzermodell oder ersetzt es
Env: Django 1.5.1 + Django CMS 2.4.1 + Zinnia aktuell + meine benutzerdefinierten Apps + benutzerdefiniertes Django CMS-Plugin
Grundsätzlich kann ich das Standard Django (1.5.X) User Model gerne erweiternDjango Ribbit Tutorial auf NetTuts +
oder
Ersetzen Sie ein komplett angepasstes Modell wieDjango Dev doc oder Django2Scoops Beispiel im Absatz: "Umgang mit dem Benutzermodell"
Zum Testen habe ich mich für das Buch Subclass AbstractUser From Django2Scoops entschieden: "Wählen Sie diese Option, wenn Sie die Felder des Django-Benutzermodells so mögen, wie sie sind, aber zusätzliche Felder benötigen."
Ich habe aber folgende Fehler:
notification.noticesetting: 'user' definiert eine Beziehung zum Modell 'auth.User', das ausgelagert wurde. Aktualisieren Sie die Beziehung zu point at settings.AUTH_USER_MODEL. cmsplugin_zinnia.latestentriesplugin: 'authors' definiert eine Beziehung zum Modell 'auth.User', das ausgetauscht wurde. Aktualisieren Sie die Beziehung zu point at settings.AUTH_USER_MODEL.
cms.pageuser: 'created_by' definiert eine Beziehung zum Modell 'auth.User', das ausgelagert wurde. Aktualisieren Sie die Beziehung zu point at settings.AUTH_USER_MODEL. cms.pageusergroup: 'created_by' definiert eine Beziehung zum Modell 'auth.User', das ausgelagert wurde. Aktualisieren Sie die Beziehung zu point at settings.AUTH_USER_MODEL.
Nach stundenlangem Lesen und Testen fand ich
Das Angeben eines benutzerdefinierten Benutzermodells (erweitert AbstractUser) funktioniert nicht
Wie in der Fehlermeldung angegeben, müssen Sie die Beziehung zu point at settings.AUTH_USER_MODEL aktualisieren. Der zweite Fehler ("Modell wurde ausgetauscht ...") ist ein Nebeneffekt der Tatsache, dass Sie direkt auf das Benutzermodell verweisen. Sobald Sie die ForieignKey-Referenzen ändern, wird dieser dritte Fehler behoben. Wir haben alles getan, um einen reibungslosen Übergang zum neuen Benutzermodell zu gewährleisten, aber es kann nicht vollständig transparent sein. App-Writer müssen ihre Apps aktualisieren, damit sie mit 1.5 kompatibel sind. Grundsätzlich ist eine Django 1.4-App nicht zu 100% mit Django 1.5 kompatibel, wenn sie einen fest codierten Fremdschlüsselverweis auf den Benutzer enthält. Könnten Sie mir bitte weitere Beispiele geben?
UndDjango / Python: Aktualisieren Sie die Beziehung zu point at settings.AUTH_USER_MODEL
In settings_example.py haben Sie AUTH_USER_MODEL = 'users.User'. Sie verwenden jedoch eine App - menu.bookmark -, die eine Beziehung zu django.contrib.auth.User hat. Sie können nicht beide haben. Das Setzen von AUTH_USER_MODEL bedeutet, dass Sie das eingebaute Django-Benutzermodell durch Ihr eigenes ersetzen. Sehenhttp://procrastinatingdev.com/django/using-configurable-user-models-in-django-1-5/ für Details.
Aber ich verstehe nicht, wie ich das lösen kann.
Was ich brauchen würde:
-Benutzer sind mit Institutes Class verbunden (ein Institut -> mehr Benutzer)
-Benutzer oder Institute können unterschiedliche Berechtigungen haben und unterschiedliche Django-CMS-Seiten / Plugins anzeigen.
-Mehrere Felder für Benutzer.
Ist Subclass AbstractUser der richtige Punkt?
Wie kann ich den "ausgelagerten" Fehler beheben?
Ich sollte etwas ähnliches schaffenOpenTreeMap-Code
Ist dieser Code nicht veraltet?
Vielen Dank!