#25882: Deletion on ForeignKey raises TypeError
-------------------------------------+-------------------------------------
Reporter: gerricom | Owner: nobody
Type: Bug | Status: new
Component: Database layer | Version: 1.9
(models, ORM) |
Severity: Release blocker | Resolution:
Keywords: | Triage Stage: Accepted
Has patch: 0 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------
Comment (by raphaelmerx):
I can't capture the bug in a test, neither on master nor on 1.9. Am I
understanding something wrong?
{{{#!diff
diff --git a/tests/delete_regress/models.py
b/tests/delete_regress/models.py
index f0145de..6d77c31 100644
--- a/tests/delete_regress/models.py
+++ b/tests/delete_regress/models.py
@@ -139,3 +139,14 @@ class OrderedPerson(models.Model):
class Meta:
ordering = ['name']
+
+
+class Catalog(models.Model):
+ name = models.CharField(max_length=255)
+
+class Reader(models.Model):
+ name = models.CharField(max_length=255)
+ catalog = models.ForeignKey(Catalog, models.CASCADE)
+
+class ReaderHasMedia(models.Model):
+ reader = models.ForeignKey(Reader, models.CASCADE)
diff --git a/tests/delete_regress/tests.py b/tests/delete_regress/tests.py
index 2128733..8b36509 100644
--- a/tests/delete_regress/tests.py
+++ b/tests/delete_regress/tests.py
@@ -345,3 +345,11 @@ class OrderedDeleteTests(TestCase):
OrderedPerson.objects.create(name='Bob', lives_in=h)
OrderedPerson.objects.filter(lives_in__address='Foo').delete()
self.assertEqual(OrderedPerson.objects.count(), 0)
+
+class DoubleForeignKeyTests(TestCase):
+ def test_double_foreign_key(self):
+ from .models import Catalog, Reader, ReaderHasMedia
+ c = Catalog.objects.create(name='aaa')
+ r = Reader.objects.create(name='bbb', catalog=c)
+ ReaderHasMedia.objects.create(reader=r)
+
ReaderHasMedia.objects.filter(reader__catalog=Catalog.objects.get(pk=1)).delete()
}}}
--
Ticket URL: <https://code.djangoproject.com/ticket/25882#comment:6>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.
--
You received this message because you are subscribed to the Google Groups
"Django updates" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/django-updates/066.ad90205eded18348716c52539ac2d071%40djangoproject.com.
For more options, visit https://groups.google.com/d/optout.