Django: Verwenden von benutzerdefinierten AUTH-System, warum die User-Modell immer noch gebraucht?

StackOverflow https://stackoverflow.com/questions/2292549

Frage

Ich bin ein SAAS entwickelt und mit die härteste Zeit meines Gehirns Umwickeln, warum ich brauche für etwas anderes als ich selbst „User“ zu verwenden. Ich weiß nicht, warum, aber es macht mich queezy zu denken, dass ich, als Entwickler / admin der gesamten Software, mit vollem Zugriff Django Admin (wie das Auge von Sauron), habe die gleiche Art von User-Objekt als ein „Konto "Inhaber‚Userprofile‘hat. Bitte helfen Sie mir zu verstehen, warum dies notwendig ist.

Beispiel:

class Account(models.Model): # represents copporate customer
    admin = models.ForeignKey(User)
    # other fields ...

class UserProfile(models.Model):
    user = models.ForeignKey(User)
    account = models.ForeignKey(Account)

Es fühlt sich an wie ich bin die eingebaute Admin-Funktionalität mit meinem Kontoinhaber Nutzer Funktionalität mische. Ist dies nur zum Zwecke der Elemente wie request.user Wiederverwendung usw.?

War es hilfreich?

Lösung

Nun, die Wiederverwendung von Code und die Funktionalität könnte ein glücklicher Nebeneffekt sein, aber im Grunde glaube ich nicht, dies ist gebrochen.

Ein Nutzer stellt jemand mit Ihrer Website. An der Basis Ebene spielt es keine Rolle, wer diese Person ist oder welche Funktionen oder Funktionalität, die sie brauchen -. Nur, dass sie Anfragen stellen und in irgendeiner Weise identifiziert werden

Weitere Funktionen können in verschiedenen Schichten hinzugefügt werden, entweder in Komponenten wie Gruppen oder Berechtigungen gebaut durch, oder durch etwas anderes bauen Sie auf sich selbst, wie Sie in Ihrem Beispiel tun.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top