Changes between Version 39 and Version 40 of BetterErrorMessages


Ignore:
Timestamp:
Jan 17, 2012, 5:46:22 AM (13 years ago)
Author:
Chris Wilson
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • BetterErrorMessages

    v39 v40  
    103103}}}
    104104
     105If you create a ForeignKey with `blank=True`, but you don't specify `null=True`, and try to save the object without a value for the foreign key, you get this exception:
     106
     107{{{
     108ValueError: Cannot assign None: "Cat.home" does not allow null values.
     109}}}
     110
     111You could argue that it's obvious, but it's confusing many people:
     112
     113* http://www.google.co.uk/search?gcx=c&sourceid=chrome&client=ubuntu&channel=cs&ie=UTF-8&q=%22Cannot+assign+None%3A%22+%22does+not+allow+null+values.%22
     114* http://stackoverflow.com/questions/4117345/django-null-foreignkey
     115* http://stackoverflow.com/questions/1810745/django-cannot-assign-none-does-not-allow-null-values
     116* http://groups.google.com/group/django-users/browse_thread/thread/af89c86e824cb0d8
     117* http://www.mail-archive.com/django-users@googlegroups.com/msg91776.html
     118
     119I think it would be a really good idea to make it really clear from the error message what you need to do (blank=True requires null=True on foreign key fields).
     120
     121Unfortunately we can't automatically fix it, because if the field is left blank, the developer might be intending to supply the value automatically before save (https://code.djangoproject.com/ticket/13824).
     122
    105123== django.forms ==
    106124
Back to Top