PageRenderTime 52ms CodeModel.GetById 23ms RepoModel.GetById 1ms app.codeStats 0ms

/tests/modeltests/m2m_recursive/models.py

https://code.google.com/p/mango-py/
Python | 28 lines | 7 code | 4 blank | 17 comment | 0 complexity | 1f594860b75c274c663176b3dc53b139 MD5 | raw file
Possible License(s): BSD-3-Clause
  1. """
  2. 28. Many-to-many relationships between the same two tables
  3. In this example, a ``Person`` can have many friends, who are also ``Person``
  4. objects. Friendship is a symmetrical relationship - if I am your friend, you
  5. are my friend. Here, ``friends`` is an example of a symmetrical
  6. ``ManyToManyField``.
  7. A ``Person`` can also have many idols - but while I may idolize you, you may
  8. not think the same of me. Here, ``idols`` is an example of a non-symmetrical
  9. ``ManyToManyField``. Only recursive ``ManyToManyField`` fields may be
  10. non-symmetrical, and they are symmetrical by default.
  11. This test validates that the many-to-many table is created using a mangled name
  12. if there is a name clash, and tests that symmetry is preserved where
  13. appropriate.
  14. """
  15. from django.db import models
  16. class Person(models.Model):
  17. name = models.CharField(max_length=20)
  18. friends = models.ManyToManyField('self')
  19. idols = models.ManyToManyField('self', symmetrical=False, related_name='stalkers')
  20. def __unicode__(self):
  21. return self.name