Yes, it is.
user=> \d+table django_foo;
Table "public.grd_device"
Column | Type | Modifiers | Storage | Stats target |
Description
--------+------------------------+-----------+----------+--------------+-------------
id | integer | not null default
nextval('django_foo_id_seq'::regclass) | plain | |
bar | character varying(16) | not null | extended | |
El lunes, 18 de mayo de 2015, 9:37:31 (UTC+2), aRkadeFR escribió:
>
> Hey,
>
> And is the CharField is really 16 char max_length in DB if
> you specifiy a string '16'?
>
> On 05/15/2015 10:53 AM, Santiago L wrote:
>
> 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] <javascript:>.
> To post to this group, send email to [email protected]
> <javascript:>.
> 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
>
> <https://groups.google.com/d/msgid/django-users/7f920d86-1657-4922-a6a6-603ab0f846a3%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
> For more options, visit https://groups.google.com/d/optout.
>
>
> --
> aRkadeFR
>
>
--
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/cf3c4d3e-e1be-4ed8-88e9-8bd2851676e6%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.