summaryrefslogtreecommitdiff
path: root/django/core
diff options
context:
space:
mode:
Diffstat (limited to 'django/core')
-rw-r--r--django/core/management/validation.py6
1 files changed, 5 insertions, 1 deletions
diff --git a/django/core/management/validation.py b/django/core/management/validation.py
index f49a3c2232..587d3a0ad7 100644
--- a/django/core/management/validation.py
+++ b/django/core/management/validation.py
@@ -49,12 +49,16 @@ def get_validation_errors(outfile, app=None):
# No need to perform any other validation checks on a swapped model.
continue
- # This is the current User model. Check known validation problems with User models
+ # If 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.')
+ # Check that the username field is unique
+ if not opts.get_field(cls.USERNAME_FIELD).unique:
+ e.add(opts, 'The USERNAME_FIELD must be unique. Add unique=True to the field parameters.')
+
# Model isn't swapped; do field-specific validation.
for f in opts.local_fields:
if f.name == 'id' and not f.primary_key and opts.pk.name == 'id':