1
Instead of using mandatory fields in models, you have to set them to optional using null=True, blank=True
and let the validation happen in forms. For users other than admin create a form that checks for extra fields and
validate those fields
. Render this form through templates at the time of signup/registration. Also instead of using modelforms use forms.Form
this will give you a better level of customization. This will make extra fields mandatory for all users other than Admin.
Source:stackexchange.com