Yeah, I'm getting exactly the same results. It seems that it's not throwing
the IntegrityError until you try to save it. I suppose that's because it's
marked as 'not null' in the database. It appears to be ignoring it in the
actual clean() (and consequently clean_fields()) methods. I'm going to look
into the source of the Model module and see what's going on

On Fri, Jun 1, 2012 at 10:55 AM, David Markey <[email protected]> wrote:

> 1.4
>
> On 1 June 2012 15:54, Kurtis Mullins <[email protected]> wrote:
>
>> What version of Django are you using?
>>
>>
>> On Fri, Jun 1, 2012 at 10:47 AM, David Markey <[email protected]> wrote:
>>
>>> That is my exact class for that model.
>>>
>>>
>>> On 1 June 2012 15:27, Kurtis Mullins <[email protected]> wrote:
>>>
>>>> From the docs:
>>>> https://docs.djangoproject.com/en/dev/ref/models/instances/?from=olddocs#django.db.models.Model.full_clean
>>>>
>>>> from django.core.exceptions import ValidationError, NON_FIELD_ERRORStry:
>>>>     article.full_clean()except ValidationError as e:
>>>>     non_field_errors = e.message_dict[NON_FIELD_ERRORS]
>>>>
>>>> It looks like it's not firing off that exception in your case -- unless
>>>> it's being supressed somehow. Did you override anything else in that Model?
>>>> Or is this example literally 'it'?
>>>>
>>>>  On Fri, Jun 1, 2012 at 9:47 AM, David Markey <[email protected]>wrote:
>>>>
>>>>>  Hi All,
>>>>>
>>>>> Say I have this model
>>>>>
>>>>> class TestModel(models.Model):
>>>>>     my_test = models.CharField(max_length=512, blank=True)
>>>>>
>>>>> And I try this:
>>>>>
>>>>> In [1]: from core.base.models import TestModel
>>>>>
>>>>> In [2]: test_model = TestModel()
>>>>>
>>>>> In [3]: test_model.my_test =* ""*
>>>>>
>>>>> In [4]: test_model.full_clean()
>>>>>
>>>>> In [5]: test_model.save()
>>>>>
>>>>> *Ok cool, this is expected.*
>>>>> *
>>>>> *
>>>>> *How about:*
>>>>>
>>>>>
>>>>> In [6]: test_model2 = TestModel()
>>>>>
>>>>> In [7]: test_model2.my_test =* None*
>>>>>
>>>>> In [8]: test_model2.full_clean()
>>>>>
>>>>>  In [9]: test_model2.save()
>>>>>
>>>>> ##*IntegrityError raised*
>>>>>
>>>>> Is there a way for full_clean() to catch that the "my_test" field is
>>>>> Null when it shouldn't be, when blank=True?
>>>>>
>>>>> If I have blank=False, it wont validate when my_test="".
>>>>>
>>>>>
>>>>> Thanks
>>>>>
>>>>> David
>>>>>
>>>>> --
>>>>> You received this message because you are subscribed to the Google
>>>>> Groups "Django users" group.
>>>>> To post to this group, send email to [email protected].
>>>>> To unsubscribe from this group, send email to
>>>>> [email protected].
>>>>> For more options, visit this group at
>>>>> http://groups.google.com/group/django-users?hl=en.
>>>>>
>>>>
>>>>  --
>>>> You received this message because you are subscribed to the Google
>>>> Groups "Django users" group.
>>>> To post to this group, send email to [email protected].
>>>> To unsubscribe from this group, send email to
>>>> [email protected].
>>>> For more options, visit this group at
>>>> http://groups.google.com/group/django-users?hl=en.
>>>>
>>>
>>>  --
>>> You received this message because you are subscribed to the Google
>>> Groups "Django users" group.
>>> To post to this group, send email to [email protected].
>>> To unsubscribe from this group, send email to
>>> [email protected].
>>> For more options, visit this group at
>>> http://groups.google.com/group/django-users?hl=en.
>>>
>>
>>  --
>> You received this message because you are subscribed to the Google Groups
>> "Django users" group.
>> To post to this group, send email to [email protected].
>> To unsubscribe from this group, send email to
>> [email protected].
>> For more options, visit this group at
>> http://groups.google.com/group/django-users?hl=en.
>>
>
>  --
> You received this message because you are subscribed to the Google Groups
> "Django users" group.
> To post to this group, send email to [email protected].
> To unsubscribe from this group, send email to
> [email protected].
> For more options, visit this group at
> http://groups.google.com/group/django-users?hl=en.
>

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

Reply via email to