Fixed #19150 -- Added validation for USERNAME_FIELD being included in REQUIRED_FIELDS.
Thanks to Chris Pagnutti for the suggestion.
This commit is contained in:
parent
04b53ebfb7
commit
7a908747a5
|
@ -1,5 +1,6 @@
|
||||||
import sys
|
import sys
|
||||||
|
|
||||||
|
from django.conf import settings
|
||||||
from django.core.management.color import color_style
|
from django.core.management.color import color_style
|
||||||
from django.utils.encoding import force_str
|
from django.utils.encoding import force_str
|
||||||
from django.utils.itercompat import is_iterable
|
from django.utils.itercompat import is_iterable
|
||||||
|
@ -48,6 +49,12 @@ def get_validation_errors(outfile, app=None):
|
||||||
# No need to perform any other validation checks on a swapped model.
|
# No need to perform any other validation checks on a swapped model.
|
||||||
continue
|
continue
|
||||||
|
|
||||||
|
# This is the current User model. Check known validation problems with User models
|
||||||
|
if settings.AUTH_USER_MODEL == '%s.%s' % (opts.app_label, opts.object_name):
|
||||||
|
# Check that the USERNAME FIELD isn't included in REQUIRED_FIELDS.
|
||||||
|
if cls.USERNAME_FIELD in cls.REQUIRED_FIELDS:
|
||||||
|
e.add(opts, 'The field named as the USERNAME_FIELD should not be included in REQUIRED_FIELDS on a swappable User model.')
|
||||||
|
|
||||||
# Model isn't swapped; do field-specific validation.
|
# Model isn't swapped; do field-specific validation.
|
||||||
for f in opts.local_fields:
|
for f in opts.local_fields:
|
||||||
if f.name == 'id' and not f.primary_key and opts.pk.name == 'id':
|
if f.name == 'id' and not f.primary_key and opts.pk.name == 'id':
|
||||||
|
|
Loading…
Reference in New Issue