This change was discussed in the django-dev mailing list
[https://groups.google.com/forum/#!topic/django-developers/BuT0-Uq8pyc].
This would let have
{{{
class Person(models.Model):
name = models.CharField(max_length=20)
friends = models.ManyToManyField('self', through='Friendship')
class Friendship(models.Model):
first = models.ForeignKey(Person, models.CASCADE, related_name="+")
second = models.ForeignKey(Person, models.CASCADE)
friendship_date = models.DateTimeField()
}}}
and just do something like
{{{
joe.friends.add(anna, through_defaults={'friendship_date':
date.datetime(...)})
}}}
where currently we would have to do
{{{
joe.friends.add(anna, through_defaults={'friendship_date':
date.datetime(...)})
anna.friends.add(joe, through_defaults={'friendship_date':
date.datetime(...)})
}}}
--
Ticket URL: <https://code.djangoproject.com/ticket/30421>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.
* has_patch: 0 => 1
--
Ticket URL: <https://code.djangoproject.com/ticket/30421#comment:1>
Comment (by Nadege):
Pull request: https://github.com/django/django/pull/11298
--
Ticket URL: <https://code.djangoproject.com/ticket/30421#comment:2>
* version: 2.2 => master
* stage: Unreviewed => Accepted
--
Ticket URL: <https://code.djangoproject.com/ticket/30421#comment:3>
* needs_better_patch: 0 => 1
--
Ticket URL: <https://code.djangoproject.com/ticket/30421#comment:4>
* needs_better_patch: 1 => 0
* stage: Accepted => Ready for checkin
--
Ticket URL: <https://code.djangoproject.com/ticket/30421#comment:5>
* status: assigned => closed
* resolution: => fixed
Comment:
In [changeset:"87b1ad6e7351464c60e751b483d9dfce3a2d3382" 87b1ad6e]:
{{{
#!CommitTicketReference repository=""
revision="87b1ad6e7351464c60e751b483d9dfce3a2d3382"
Fixed #30421 -- Allowed symmetrical intermediate table for self-
referential ManyToManyField.
}}}
--
Ticket URL: <https://code.djangoproject.com/ticket/30421#comment:6>