Loading tests/queries/models.py +6 −0 Original line number Diff line number Diff line Loading @@ -258,6 +258,12 @@ class CustomPk(models.Model): class Related(models.Model): custom = models.ForeignKey(CustomPk) class CustomPkTag(models.Model): id = models.CharField(max_length=20, primary_key=True) custom_pk = models.ManyToManyField(CustomPk) tag = models.CharField(max_length=20) # An inter-related setup with a model subclass that has a nullable # path to another model, and a return path from that model. Loading tests/queries/tests.py +14 −1 Original line number Diff line number Diff line Loading @@ -27,7 +27,7 @@ from .models import ( BaseA, FK1, Identifier, Program, Channel, Page, Paragraph, Chapter, Book, MyObject, Order, OrderItem, SharedConnection, Task, Staff, StaffUser, CategoryRelationship, Ticket21203Parent, Ticket21203Child, Person, Company, Employment) Company, Employment, CustomPk, CustomPkTag) class BaseQuerysetTest(TestCase): Loading Loading @@ -3243,3 +3243,16 @@ class ForeignKeyToBaseExcludeTests(TestCase): SpecialCategory.objects.filter(categoryitem__id=c1.pk), [sc1], lambda x: x ) class ReverseM2MCustomPkTests(TestCase): def test_ticket_21879(self): cpt1 = CustomPkTag.objects.create(id='cpt1', tag='cpt1') cp1 = CustomPk.objects.create(name='cp1', extra='extra') cp1.custompktag_set.add(cpt1) self.assertQuerysetEqual( CustomPk.objects.filter(custompktag=cpt1), [cp1], lambda x: x) self.assertQuerysetEqual( CustomPkTag.objects.filter(custom_pk=cp1), [cpt1], lambda x: x) Loading
tests/queries/models.py +6 −0 Original line number Diff line number Diff line Loading @@ -258,6 +258,12 @@ class CustomPk(models.Model): class Related(models.Model): custom = models.ForeignKey(CustomPk) class CustomPkTag(models.Model): id = models.CharField(max_length=20, primary_key=True) custom_pk = models.ManyToManyField(CustomPk) tag = models.CharField(max_length=20) # An inter-related setup with a model subclass that has a nullable # path to another model, and a return path from that model. Loading
tests/queries/tests.py +14 −1 Original line number Diff line number Diff line Loading @@ -27,7 +27,7 @@ from .models import ( BaseA, FK1, Identifier, Program, Channel, Page, Paragraph, Chapter, Book, MyObject, Order, OrderItem, SharedConnection, Task, Staff, StaffUser, CategoryRelationship, Ticket21203Parent, Ticket21203Child, Person, Company, Employment) Company, Employment, CustomPk, CustomPkTag) class BaseQuerysetTest(TestCase): Loading Loading @@ -3243,3 +3243,16 @@ class ForeignKeyToBaseExcludeTests(TestCase): SpecialCategory.objects.filter(categoryitem__id=c1.pk), [sc1], lambda x: x ) class ReverseM2MCustomPkTests(TestCase): def test_ticket_21879(self): cpt1 = CustomPkTag.objects.create(id='cpt1', tag='cpt1') cp1 = CustomPk.objects.create(name='cp1', extra='extra') cp1.custompktag_set.add(cpt1) self.assertQuerysetEqual( CustomPk.objects.filter(custompktag=cpt1), [cp1], lambda x: x) self.assertQuerysetEqual( CustomPkTag.objects.filter(custom_pk=cp1), [cpt1], lambda x: x)