summaryrefslogtreecommitdiff
path: root/tests/model_fields
diff options
context:
space:
mode:
Diffstat (limited to 'tests/model_fields')
-rw-r--r--tests/model_fields/models.py3
-rw-r--r--tests/model_fields/tests.py12
2 files changed, 14 insertions, 1 deletions
diff --git a/tests/model_fields/models.py b/tests/model_fields/models.py
index e110578ce9..b16287a66c 100644
--- a/tests/model_fields/models.py
+++ b/tests/model_fields/models.py
@@ -48,6 +48,9 @@ class Whiz(models.Model):
class BigD(models.Model):
d = models.DecimalField(max_digits=38, decimal_places=30)
+class FloatModel(models.Model):
+ size = models.FloatField()
+
class BigS(models.Model):
s = models.SlugField(max_length=255)
diff --git a/tests/model_fields/tests.py b/tests/model_fields/tests.py
index 194219a114..a39ad81f64 100644
--- a/tests/model_fields/tests.py
+++ b/tests/model_fields/tests.py
@@ -23,7 +23,7 @@ from django.utils.functional import lazy
from .models import (
Foo, Bar, Whiz, BigD, BigS, BigInt, Post, NullBooleanModel,
BooleanModel, PrimaryKeyCharModel, DataModel, Document, RenamedField,
- VerboseNameField, FksToBooleans, FkToChar)
+ VerboseNameField, FksToBooleans, FkToChar, FloatModel)
class BasicFieldTests(test.TestCase):
@@ -78,6 +78,16 @@ class BasicFieldTests(test.TestCase):
self.assertEqual(m._meta.get_field('id').verbose_name, 'verbose pk')
+ def test_float_validates_object(self):
+ instance = FloatModel(size=2.5)
+ instance.save()
+ self.assertTrue(instance.id)
+
+ obj = FloatModel.objects.get(pk=1)
+ obj.size = obj
+ with self.assertRaises(TypeError):
+ obj.save()
+
def test_choices_form_class(self):
"""Can supply a custom choices form class. Regression for #20999."""
choices = [('a', 'a')]