mirror of
https://github.com/django/django.git
synced 2025-10-24 14:16:09 +00:00
Fixed #22537 -- Add tests and improved docs for field subclass with choices.
This commit is contained in:
@@ -2,12 +2,12 @@ from __future__ import unicode_literals
|
||||
|
||||
import inspect
|
||||
|
||||
from django.core import serializers
|
||||
from django.core import exceptions, serializers
|
||||
from django.db import connection
|
||||
from django.test import TestCase
|
||||
|
||||
from .fields import Small, CustomTypedField
|
||||
from .models import DataModel, MyModel, OtherModel
|
||||
from .models import ChoicesModel, DataModel, MyModel, OtherModel
|
||||
|
||||
|
||||
class CustomField(TestCase):
|
||||
@@ -106,6 +106,16 @@ class CustomField(TestCase):
|
||||
self.assertIn('__module__', data)
|
||||
self.assertEqual(data['__module__'], 'field_subclassing.models')
|
||||
|
||||
def test_validation_of_choices_for_custom_field(self):
|
||||
# a valid choice
|
||||
o = ChoicesModel.objects.create(data=Small('a', 'b'))
|
||||
o.full_clean()
|
||||
|
||||
# an invalid choice
|
||||
o = ChoicesModel.objects.create(data=Small('d', 'e'))
|
||||
with self.assertRaises(exceptions.ValidationError):
|
||||
o.full_clean()
|
||||
|
||||
|
||||
class TestDbType(TestCase):
|
||||
|
||||
|
||||
Reference in New Issue
Block a user