django.contrib.auth
ha User
e Group
modelli. Sto utilizzando il modello User
per i miei utenti e il modello Group
per gestire le loro autorizzazioni generali (accesso al sito di amministrazione, log di accesso, ecc.).
Ho anche il mio modello Client
(che rappresenta un'entità aziendale client aziendale). Diciamo che avrò molti clienti e non voglio che vedano i rispettivi dati.
I I:
- Crea chiavi esterne nei modelli di dati che puntano a
Client
, estendi ilUser
modello con una chiave esterna aClient
e verifica cheUser
e i modelli di dati puntino entrambi allo stessoClient
prima di consentire l'accesso ai dati? - Estendi i modelli di dati per puntare a
Group
e verifica cheUser
e modelli di dati puntino allo stessoGroup
prima consentendo l'accesso ai dati? - Relazione 1 a 1 tra
User
eUserProfile
, quindi la chiave esterna daUserProfile
aClient
? - Qualcos'altro?
La mia preferenza è di evitare di estendere nulla in django.contrib.auth
perché probabilmente interromperà gli aggiornamenti e il middleware.