ModelChoiceField validation throws OverflowError
|Reported by:||bstpierre||Owned by:||nobody|
|Has patch:||yes||Needs documentation:||no|
|Needs tests:||no||Patch needs improvement:||no|
I have a form that uses ModelChoiceField.
My unit tests throw strings and very large integers at the ModelChoiceField field. I expect the clean() method to trap any bad input so that I don't have to. Sending strings ("abcd") or very large integers (01234567890123456789012345678901234567890123456789) causes exceptions.
To reproduce, I'm attaching a minimal django project as a tarball.
I'm also attaching a patch that fixes these two cases. Not sure if there's a better fix that would be preferred.
Using svn 9692.
- tar zxvf overflow.tgz
- ./manage.py syncdb --noinput [db is sqlite3 in /tmp/deleteme.sqlite3]
- ./manage.py runserver
- browse to http://127.0.0.1:8000/overflow/?blog=1234567890123456789012345678901234567890123456789, expect to see "invalid" but instead get Django error page (OverflowError)
- browse to http://127.0.0.1:8000/overflow/?blog=foo, expect to see "invalid" but instead get Django error page (ValueError)
Change History (5)
Changed 5 years ago by bstpierre
comment:1 Changed 5 years ago by bstpierre
- Has patch set
- Needs documentation unset
- Needs tests unset
- Patch needs improvement unset