﻿id	summary	reporter	owner	description	type	status	component	version	severity	resolution	keywords	cc	stage	has_patch	needs_docs	needs_tests	needs_better_patch	easy	ui_ux
30421	Allow ManyToManyField using a intermediary table to be defined as symmetrical.	Nadege	Nadege	"Thanks to the work made by Collin Anderson in #9475 I think we can remove the check 
""fields.E332 Many-to-many fields with intermediate tables must not be symmetrical."" with a little adjustment.

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(...)})
}}}

"	New feature	closed	Database layer (models, ORM)	dev	Normal	fixed	many2many, through, symmetrical, through		Ready for checkin	1	0	0	0	0	0
