Hi,

I think that I have found a bug on the system check: it accepts a string as 
value for CharField.max_length argument.

It happens only if the string can be converted to int (e.g. 
max_length='16'). Otherwise shows fields.E121 error (e.g. max_length='foo').

from django.db import models

class Foo(models.Model):
    bar = models.CharField(max_length='16')


# following code raises an Exception
obj = Foo(bar='lorem ipsum')
obj.clean_fields()


Traceback:
>>> obj = Foo(bar='lorem ipsum')
>>> obj.clean_fields()
Traceback (most recent call last):
  File "<console>", line 1, in <module>
  File "/usr/local/lib/python3.4/dist-packages/django/db/models/base.py", 
line 1167, in clean_fields
    setattr(self, f.attname, f.clean(raw_value, self))
  File 
"/usr/local/lib/python3.4/dist-packages/django/db/models/fields/__init__.py", 
line 589, in clean
    self.run_validators(value)
  File 
"/usr/local/lib/python3.4/dist-packages/django/db/models/fields/__init__.py", 
line 541, in run_validators
    v(value)
  File "/usr/local/lib/python3.4/dist-packages/django/core/validators.py", 
line 280, in __call__
    if self.compare(cleaned, self.limit_value):
  File "/usr/local/lib/python3.4/dist-packages/django/core/validators.py", 
line 319, in <lambda>
    compare = lambda self, a, b: a > b
TypeError: unorderable types: int() > str()

Best regards,

Santiago

-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/django-users.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-users/7f920d86-1657-4922-a6a6-603ab0f846a3%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to