1
0
mirror of https://github.com/django/django.git synced 2025-10-24 14:16:09 +00:00

Refs #25535 -- Minor edits to ForeignObject check changes.

This commit is contained in:
Tim Graham
2015-10-13 06:08:27 -07:00
parent 92c1ae1b0b
commit c7aff31397
4 changed files with 33 additions and 41 deletions

View File

@@ -4,7 +4,7 @@ from operator import attrgetter
from django.core.exceptions import FieldError
from django.db import models
from django.db.models.fields.related import ForeignObject
from django.test import TestCase, skipUnlessDBFeature
from django.test import SimpleTestCase, TestCase, skipUnlessDBFeature
from django.utils import translation
from .models import (
@@ -394,21 +394,21 @@ class MultiColumnFKTests(TestCase):
objs = [Person(name="abcd_%s" % i, person_country=self.usa) for i in range(0, 5)]
Person.objects.bulk_create(objs, 10)
class TestModelCheckTests(SimpleTestCase):
def test_check_composite_foreign_object(self):
class Parent(models.Model):
a = models.PositiveIntegerField()
b = models.PositiveIntegerField()
class Meta:
unique_together = (
('a', 'b'),
)
unique_together = (('a', 'b'),)
class Child(models.Model):
a = models.PositiveIntegerField()
b = models.PositiveIntegerField()
value = models.CharField(max_length=255)
parent = ForeignObject(
Parent,
on_delete=models.SET_NULL,
@@ -417,10 +417,7 @@ class MultiColumnFKTests(TestCase):
related_name='children',
)
field = Child._meta.get_field('parent')
errors = field.check(from_model=Child)
self.assertEqual(errors, [])
self.assertEqual(Child._meta.get_field('parent').check(from_model=Child), [])
def test_check_subset_composite_foreign_object(self):
class Parent(models.Model):
@@ -429,16 +426,13 @@ class MultiColumnFKTests(TestCase):
c = models.PositiveIntegerField()
class Meta:
unique_together = (
('a', 'b'),
)
unique_together = (('a', 'b'),)
class Child(models.Model):
a = models.PositiveIntegerField()
b = models.PositiveIntegerField()
c = models.PositiveIntegerField()
d = models.CharField(max_length=255)
parent = ForeignObject(
Parent,
on_delete=models.SET_NULL,
@@ -447,7 +441,4 @@ class MultiColumnFKTests(TestCase):
related_name='children',
)
field = Child._meta.get_field('parent')
errors = field.check(from_model=Child)
self.assertEqual(errors, [])
self.assertEqual(Child._meta.get_field('parent').check(from_model=Child), [])

View File

@@ -508,9 +508,11 @@ class RelativeFieldTests(IsolatedModelsTestCase):
errors = field.check()
expected = [
Error(
"No subset of the fields 'country_id', 'city_id' on model 'Person' is unique",
hint="Add a unique=True on any of the fields 'country_id', 'city_id' of 'Person', "
"or add them all or a subset to a unique_together constraint.",
"No subset of the fields 'country_id', 'city_id' on model 'Person' is unique.",
hint=(
"Add unique=True on any of those fields or add at least "
"a subset of them to a unique_together constraint."
),
obj=field,
id='fields.E310',
)
@@ -1404,15 +1406,12 @@ class M2mThroughFieldsTests(IsolatedModelsTestCase):
c = models.PositiveIntegerField()
class Meta:
unique_together = (
('a', 'b', 'c'),
)
unique_together = (('a', 'b', 'c'),)
class Child(models.Model):
a = models.PositiveIntegerField()
b = models.PositiveIntegerField()
value = models.CharField(max_length=255)
parent = ForeignObject(
Parent,
on_delete=models.SET_NULL,
@@ -1425,9 +1424,11 @@ class M2mThroughFieldsTests(IsolatedModelsTestCase):
errors = field.check(from_model=Child)
expected = [
Error(
"No subset of the fields 'a', 'b' on model 'Parent' is unique",
hint="Add a unique=True on any of the fields 'a', 'b' of 'Parent', or add them "
"all or a subset to a unique_together constraint.",
"No subset of the fields 'a', 'b' on model 'Parent' is unique.",
hint=(
"Add unique=True on any of those fields or add at least "
"a subset of them to a unique_together constraint."
),
obj=field,
id='fields.E310',
),
@@ -1442,16 +1443,13 @@ class M2mThroughFieldsTests(IsolatedModelsTestCase):
d = models.PositiveIntegerField()
class Meta:
unique_together = (
('a', 'b', 'c'),
)
unique_together = (('a', 'b', 'c'),)
class Child(models.Model):
a = models.PositiveIntegerField()
b = models.PositiveIntegerField()
d = models.PositiveIntegerField()
value = models.CharField(max_length=255)
parent = ForeignObject(
Parent,
on_delete=models.SET_NULL,
@@ -1464,9 +1462,11 @@ class M2mThroughFieldsTests(IsolatedModelsTestCase):
errors = field.check(from_model=Child)
expected = [
Error(
"No subset of the fields 'a', 'b', 'd' on model 'Parent' is unique",
hint="Add a unique=True on any of the fields 'a', 'b', 'd' of 'Parent', or add "
"them all or a subset to a unique_together constraint.",
"No subset of the fields 'a', 'b', 'd' on model 'Parent' is unique.",
hint=(
"Add unique=True on any of those fields or add at least "
"a subset of them to a unique_together constraint."
),
obj=field,
id='fields.E310',
),