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.