/ / Rendere obbligatorio il campo email in Django - python, django, modelli django, django-admin

Rendere obbligatorio il campo email in Django - python, django, modelli django, django-admin

Secondo la documentazione di Django, il campo "email" è facoltativo. Voglio cambiare questo comportamento predefinito spedito da Django.

Ho esteso il modello per aggiungere un po 'di costumecampi, ma ancora non riesco a sovrascriverlo (a causa di limitazioni tecniche). Qui ho visto altre domande su problemi relativi al modello Utente e di solito suggeriscono di sottoclasse il modulo di registrazione per richiedere il campo email.

Tuttavia, non puoi farlo dal lato amministrativo. La mia applicazione non ha un modulo di iscrizione, ma gli utenti devono essere aggiunti dal pannello di amministrazione.

Finora ho cercato su google per un bel po 'di tempo esembra che non sia affatto possibile o devo ricreare un intero modello solo per cambiarlo, il che non suona come la soluzione ottimale per me.

Qualcuno ha un metodo migliore?

risposte:

0 per risposta № 1

Se vuoi solo fare il campo emailrichiesto, quindi il modo più pulito è creare un modello utente personalizzato che sia esattamente come il tuo modello utente originale, ma con il campo email impostato come unico. Django ha già un AbstractUser classe che ha ciò di cui hai bisogno. Puoi modificare il tuo User modello come questo -

class MyUser(AbstractUser):
# your extra fields

Dopo aver apportato la modifica, Django manterrà il campo di posta elettronica richiesto ovunque lo si usi, anche dal pannello di amministrazione.