Gestione dei docenti
L'applicazione corsi permette a qualsiasi utente registrato di essere inserito come docente di un corso. Vogliamo creare un sistema più raffinato per separare i docenti dal resto degli utenti registrati.
Creiamo una nuova applicazione chiamata profili per gestire un nuovo modello Profilo da mettere in relazione 1-a-1 tramite un campo OneToOneField al modello User.
Nel modello Profilo vogliamo tracciare:
- il paese di provenienza
- un flag per distinguere i docenti dal resto degli utenti
Per avere una lista dei paesi si può sfruttare il pacchetto
pycountry da usare in combinazione con il parametro
choices di un campo CharField
.
Ogni utente può accedere tramite delle viste a dei form di inserimento e di modifica del proprio profilo. Da questi form però è escluso il flag per distinguere i docenti dagli utenti normali. Questo flag può essere settato solo tramite l'interfaccia di amministrazione.
Una volta che gli utenti possono essere profilati come docenti dobbiamo aggiornare l'applicazione
corsi per limitare la scelta dei docenti selezionabili tramite il parametro
limit_choices_to del campo ManyToManyField
a solo quelli che hanno il flag attivato.
Ricordati di testare modelli, form e viste e di salvare i tuoi progressi su git.