Hey Mathieu,

Thanks for taking the time to reply. I'm starting to see now why the core
devs are reluctant to modify IntegerField.

I'm wondering if maybe Django should have a SignedIntegerField and
UnsignedIntegerField as part of the core (for those that wish to have
enforced 32-bit integers), with the same INT_MIN and INT_MAX from limits.h (
http://en.wikipedia.org/wiki/Limits.h). But there again, would this be
considered un-pythonic or against the ethics of Django?

I guess really it should be up to MySQL to have strict mode by default. But,
as this is unlikely to happen, could we perhaps consider having a commented
out entry in the settings.py file that allows you to set strict mode for all
SQL connections? Or, perhaps a documentation change, which explains easily
to the user how to do it (Kinda like the storage_engine thing on
http://docs.djangoproject.com/en/dev/ref/databases/#creating-your-tables ) .

Let me know your thoughts :)

Cal


On Sat, Apr 30, 2011 at 6:32 PM, Mathieu AGOPIAN
<mathieu.agop...@gmail.com>wrote:

> Hello,
>
> I'm afraid there isn't such a thing as "a valid signed value", if we're
> still talking about "size wise".
>
> For django (python), the integer you gave in the ticket is perfectly valid.
> Here's a way for you to check that :
> >>> s = '351760125423456632454565345363453423453465345453'
> >>> int(s)
> 351760125423456632454565345363453423453465345453L
>
> And indeed, an IntegerField validates that the content of the field can be
> converted to an int this way (check django/forms/fields.py line 230).
>
> So definitely, as Alex pointed, this is an issue on MySQL's side, not
> Django's.
> I believe this can't (shan't?) be fixed at Django's level, as there's no
> "size" limitation for the IntegerField, as you would have on a CharField
> with the *max_length* attribute.
>
> And no, limiting the length of the string won't work, as "2147483647" isn't
> the same length as "-2147483647", but is the same length as "9999999999" (if
> we're taking the example of 2^32-1 as the max SIGNED INT value).
>
> my two cents ;)
>
> --
> You received this message because you are subscribed to the Google Groups
> "Django developers" group.
> To post to this group, send email to django-developers@googlegroups.com.
> To unsubscribe from this group, send email to
> django-developers+unsubscr...@googlegroups.com.
> For more options, visit this group at
> http://groups.google.com/group/django-developers?hl=en.
>

-- 
You received this message because you are subscribed to the Google Groups 
"Django developers" group.
To post to this group, send email to django-developers@googlegroups.com.
To unsubscribe from this group, send email to 
django-developers+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/django-developers?hl=en.

Reply via email to