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 ilUsermodello con una chiave esterna aCliente verifica cheUsere i modelli di dati puntino entrambi allo stessoClientprima di consentire l'accesso ai dati? - Estendi i modelli di dati per puntare a
Groupe verifica cheUsere modelli di dati puntino allo stessoGroupprima consentendo l'accesso ai dati? - Relazione 1 a 1 tra
UsereUserProfile, quindi la chiave esterna daUserProfileaClient? - Qualcos'altro?
La mia preferenza è di evitare di estendere nulla in django.contrib.auth perché probabilmente interromperà gli aggiornamenti e il middleware.