Sto costruendo un'app che presuppone l'esistenza di determinati gruppi e autorizzazioni per il proprio flusso di lavoro. Ad esempio, un "membro" può accedere all'app e visualizzare e modificare i propri dati personali, ma non può visualizzare le note che normalmente vengono visualizzate sullo stesso schermo. Un "dipendente" può vedere quelle note e creare o modificare le proprie, ma solo un "membro manager" può cancellare o modificare le note di chiunque.i gruppi e le autorizzazioni di Django devono essere hardcoded o bootstrap?
Il mio problema è con il bootstrap dei dati per questa app. Posso creare dati di fixture JSON per i gruppi, ma poi devo codificare i PK in modo rigido, il che sembra una cattiva pratica (e se un'app di terze parti volessi usare la stessa cosa e ci fosse un conflitto?) Un grande problema è il permesso - dovrei aggiungere PK alle autorizzazioni che a loro volta avrebbero PKs ai loro tipi di contenuto.
Ho letto sull'utilizzo del hook post_syncdb per aggiungere i dati iniziali in modo più programmatico, che spero possa aiutarmi a risolvere il problema del PK hardcoded. Ma mi chiedo se questa sia la soluzione migliore a questo problema, o se sto "abusando" del concetto di Django Group e dei permessi, qui, e dovrei fare qualcos'altro, come creare nuovi modelli o semplicemente mettere dei flag (come " is_member_manager ") sul mio modello profilo utente, ecc.