Skip to content

Commit

Permalink
Improved model validator to validate 'choices' for a field
Browse files Browse the repository at this point in the history
git-svn-id: http://code.djangoproject.com/svn/django/trunk@509 bcc190cf-cafb-0310-a4f2-bffc1f526a37
  • Loading branch information
adrianholovaty committed Aug 15, 2005
1 parent 5607175 commit 7cfddb3
Showing 1 changed file with 7 additions and 0 deletions.
7 changes: 7 additions & 0 deletions django/core/management.py
Expand Up @@ -506,6 +506,13 @@ def validate():
for f in opts.fields:
if isinstance(f, meta.CharField) and f.maxlength in (None, 0):
e.add(opts, '"%s" field: CharFields require a "maxlength" attribute.' % f.name)
if f.choices:
if not type(f.choices) in (tuple, list):
e.add(opts, '"%s" field: "choices" should be either a tuple or list.' % f.name)
else:
for c in f.choices:
if not type(c) in (tuple, list) or len(c) != 2:
e.add(opts, '"%s" field: "choices" should be a sequence of two-tuples.' % f.name)

# Check admin attribute.
if opts.admin is not None and not isinstance(opts.admin, meta.Admin):
Expand Down

0 comments on commit 7cfddb3

Please sign in to comment.