summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/fixtures_regress/fixtures/m2mtoself.json1
-rw-r--r--tests/fixtures_regress/models.py4
-rw-r--r--tests/fixtures_regress/tests.py10
3 files changed, 15 insertions, 0 deletions
diff --git a/tests/fixtures_regress/fixtures/m2mtoself.json b/tests/fixtures_regress/fixtures/m2mtoself.json
new file mode 100644
index 0000000000..b904ba36e0
--- /dev/null
+++ b/tests/fixtures_regress/fixtures/m2mtoself.json
@@ -0,0 +1 @@
+[{"fields": {"parent": [1]}, "model": "fixtures_regress.m2mtoself", "pk": 1}]
diff --git a/tests/fixtures_regress/models.py b/tests/fixtures_regress/models.py
index f75b1e02d0..cd381e92bd 100644
--- a/tests/fixtures_regress/models.py
+++ b/tests/fixtures_regress/models.py
@@ -248,6 +248,10 @@ class Thingy(models.Model):
name = models.CharField(max_length=255)
+class M2MToSelf(models.Model):
+ parent = models.ManyToManyField("self", blank=True, null=True)
+
+
@python_2_unicode_compatible
class BaseNKModel(models.Model):
"""
diff --git a/tests/fixtures_regress/tests.py b/tests/fixtures_regress/tests.py
index 89b8fb17ef..a91935af8f 100644
--- a/tests/fixtures_regress/tests.py
+++ b/tests/fixtures_regress/tests.py
@@ -487,6 +487,16 @@ class TestFixtures(TestCase):
verbosity=0,
)
+ def test_loaddata_with_m2m_to_self(self):
+ """
+ Regression test for ticket #17946.
+ """
+ management.call_command(
+ 'loaddata',
+ 'm2mtoself.json',
+ verbosity=0,
+ )
+
@override_settings(FIXTURE_DIRS=[os.path.join(_cur_dir, 'fixtures_1'),
os.path.join(_cur_dir, 'fixtures_1')])
def test_fixture_dirs_with_duplicates(self):