mirror of
https://github.com/django/django.git
synced 2025-10-24 06:06:09 +00:00
Fixed #30421 -- Allowed symmetrical intermediate table for self-referential ManyToManyField.
This commit is contained in:
committed by
Mariusz Felisiak
parent
a9179ab032
commit
87b1ad6e73
@@ -72,6 +72,7 @@ class TestNoDefaultsOrNulls(models.Model):
|
||||
class PersonSelfRefM2M(models.Model):
|
||||
name = models.CharField(max_length=5)
|
||||
friends = models.ManyToManyField('self', through="Friendship", symmetrical=False)
|
||||
sym_friends = models.ManyToManyField('self', through='SymmetricalFriendship', symmetrical=True)
|
||||
|
||||
def __str__(self):
|
||||
return self.name
|
||||
@@ -83,6 +84,12 @@ class Friendship(models.Model):
|
||||
date_friended = models.DateTimeField()
|
||||
|
||||
|
||||
class SymmetricalFriendship(models.Model):
|
||||
first = models.ForeignKey(PersonSelfRefM2M, models.CASCADE)
|
||||
second = models.ForeignKey(PersonSelfRefM2M, models.CASCADE, related_name='+')
|
||||
date_friended = models.DateField()
|
||||
|
||||
|
||||
# Custom through link fields
|
||||
class Event(models.Model):
|
||||
title = models.CharField(max_length=50)
|
||||
|
||||
Reference in New Issue
Block a user