mirror of
https://github.com/Hopiu/django-modeltranslation.git
synced 2026-05-28 05:53:59 +00:00
Merged test-unique-nullable-fields branch into master.
This commit is contained in:
commit
cc5687e4d0
3 changed files with 23 additions and 2 deletions
|
|
@ -13,6 +13,7 @@ from django.core.exceptions import ValidationError, ImproperlyConfigured
|
|||
from django.core.files.base import ContentFile
|
||||
from django.core.files.storage import default_storage
|
||||
from django.core.management import call_command
|
||||
from django.db import IntegrityError
|
||||
from django.db.models import Q, F
|
||||
from django.db.models.loading import AppCache
|
||||
from django.test import TestCase
|
||||
|
|
@ -37,7 +38,7 @@ from modeltranslation.utils import (build_css_class, build_localized_fieldname,
|
|||
request = None
|
||||
|
||||
# How many models are registered for tests.
|
||||
TEST_MODELS = 25
|
||||
TEST_MODELS = 26
|
||||
|
||||
|
||||
class reload_override_settings(override_settings):
|
||||
|
|
@ -449,6 +450,17 @@ class ModeltranslationTest(ModeltranslationTestBase):
|
|||
)
|
||||
self._test_constructor(keywords)
|
||||
|
||||
def test_unique_nullable_field(self):
|
||||
models.UniqueNullableModel.objects.create()
|
||||
models.UniqueNullableModel.objects.create()
|
||||
models.UniqueNullableModel.objects.create(title=None)
|
||||
models.UniqueNullableModel.objects.create(title=None)
|
||||
|
||||
models.UniqueNullableModel.objects.create(title='')
|
||||
self.assertRaises(IntegrityError, models.UniqueNullableModel.objects.create, title='')
|
||||
models.UniqueNullableModel.objects.create(title='foo')
|
||||
self.assertRaises(IntegrityError, models.UniqueNullableModel.objects.create, title='foo')
|
||||
|
||||
|
||||
class FallbackTests(ModeltranslationTestBase):
|
||||
test_fallback = {
|
||||
|
|
|
|||
|
|
@ -16,6 +16,10 @@ class TestModel(models.Model):
|
|||
email = models.EmailField(blank=True, null=True)
|
||||
|
||||
|
||||
class UniqueNullableModel(models.Model):
|
||||
title = models.CharField(null=True, unique=True, max_length=255)
|
||||
|
||||
|
||||
########## Proxy model testing
|
||||
|
||||
class ProxyTestModel(TestModel):
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ from modeltranslation.tests.models import (
|
|||
DescriptorModel, AbstractModelA, AbstractModelB, Slugged, MetaData, Displayable, Page,
|
||||
RichText, RichTextPage, MultitableModelA, MultitableModelB, MultitableModelC, ManagerTestModel,
|
||||
CustomManagerTestModel, CustomManager2TestModel, GroupFieldsetsModel, NameModel,
|
||||
ThirdPartyRegisteredModel, ProxyTestModel)
|
||||
ThirdPartyRegisteredModel, ProxyTestModel, UniqueNullableModel)
|
||||
|
||||
|
||||
class TestTranslationOptions(TranslationOptions):
|
||||
|
|
@ -15,6 +15,11 @@ class TestTranslationOptions(TranslationOptions):
|
|||
translator.register(TestModel, TestTranslationOptions)
|
||||
|
||||
|
||||
class UniqueNullableTranslationOptions(TranslationOptions):
|
||||
fields = ('title',)
|
||||
translator.register(UniqueNullableModel, UniqueNullableTranslationOptions)
|
||||
|
||||
|
||||
########## Proxy model testing
|
||||
|
||||
class ProxyTestTranslationOptions(TranslationOptions):
|
||||
|
|
|
|||
Loading…
Reference in a new issue