Consider:

class Foo(models.Model):
     related = models.ManyToManyField('self')
     suggestions = models.ManyToManyField('self')

Both should be symmetrical. If A suggests B, B suggests A (for this code 
base anyways).

What I expected to happen is adding B to A would add A to B. Instead I get:

app.foo: Accessor for m2m field 'menu_suggestions' clashes with related 
m2m field 'Foo.foo_set'. Add a related_name argument to the definition 
for 'suggestions'.
app.foo: Accessor for m2m field 'related' clashes with related m2m field 
'Foo.foo_set'. Add a related_name argument to the definition for 'related'.

Doesn't matter whether I set symmetrical to false or true.

The confusion stems from model-api.txt which states:
``symmetrical`` Only used in the definition of ManyToManyFields on self.
                 Consider the following model:
                        class Person(models.Model):
                             friends = models.ManyToManyField("self")
        
              When Django processes this model, it identifies that it has
              a ``ManyToManyField`` on itself, and as a result, it
              doesn't add a ``person_set`` attribute to the ``Person``
              class. Instead, the ``ManyToManyField`` is assumed to be
              symmetrical -- that is, if I am your friend, then you are
              my friend.
        
              If you do not want symmetry in ``ManyToMany`` relationships
              with ``self``, set ``symmetrical`` to ``False``. This will
              force Django to add the descriptor for the reverse
              relationship, allowing ``ManyToMany`` relationships to be
              non-symmetrical.


So according to this, I am doing things correctly and should not get an 
error. Bug? Code change without document update?

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/django-users
-~----------~----~----~----~------~----~------~--~---

Reply via email to