Джанго: в чем разница (rel & field) - PullRequest
43 голосов
/ 07 марта 2011

В чем разница между models.ManyToManyField и models.ManyToManyRel у Джанго?Я запутался в этом.

Ответы [ 2 ]

57 голосов
/ 27 ноября 2012

ManyToManyRel используется ManyToManyField для реализации объекта отношения для базового класса Field, который он расширяет.Если бы вы создали новый класс полей, который расширил бы класс Field и содержал отношение «многие ко многим», вы могли бы счесть этот класс удобным, но его не следует использовать в ваших моделях (именно здесь вы увидите всплывающее предложение).если ваш редактор перечисляет доступные вызовы).

См. класс Поле @: https://github.com/django/django/blob/master/django/db/models/fields/__init__.py класс ManyToManyRel и класс ManyToManyField @: https://github.com/django/django/blob/master/django/db/models/fields/related.py

Я рад, что огромноеБольшинство вопросов здесь - это вопросы, на которые можно ответить, взглянув на справочные материалы и документацию.Исследование и обмен идеями и копание в коде, который "не для внешнего использования" - это весело.Я знаю, как начать отвечать на этот вопрос, если бы я не сделал, я бы ничего не написал.Хороший вопрос, чувак!

0 голосов
/ 07 марта 2011

Я даже не знаю, как начать отвечать на этот вопрос. Единственный способ обнаружить ManyToManyRel - это покопаться в исходном коде, в этом случае вы можете прочитать строки документации для класса. Это нигде не задокументировано - специально, потому что это не для внешнего использования. Это, конечно, не предназначено для определения фактических полевых отношений между моделями.

Почему вы не следуете фактической документации?

...