Fixed null handling in Value expression

This commit is contained in:
Josh Smeaton 2015-01-07 21:30:25 +11:00 committed by Tim Graham
parent 1f03d2d924
commit 8713ea7568
3 changed files with 26 additions and 1 deletions

View file

@ -5,7 +5,7 @@ import datetime
from django.core.exceptions import FieldError
from django.db import connection, transaction, DatabaseError
from django.db.models import F
from django.db.models import F, Value
from django.test import TestCase, skipIfDBFeature, skipUnlessDBFeature
from django.test.utils import Approximate
from django.utils import six
@ -174,6 +174,19 @@ class BasicExpressionsTests(TestCase):
ordered=False
)
def test_update_with_none(self):
Number.objects.create(integer=1, float=1.0)
Number.objects.create(integer=2)
Number.objects.filter(float__isnull=False).update(float=Value(None))
self.assertQuerysetEqual(
Number.objects.all(), [
None,
None,
],
lambda n: n.float,
ordered=False
)
def test_filter_with_join(self):
# F Expressions can also span joins
Company.objects.update(point_of_contact=F('ceo'))