Django: какая разница (rel & field)

В чем разница между models.ManyToManyField и models.ManyToManyRel ? Я смущен этим.

2 Solutions collect form web for “Django: какая разница (rel & field)”

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

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

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

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

Я рад, что подавляющее большинство вопросов здесь – это вопросы, на которые можно ответить, посмотрев справочные материалы и документацию. Научиться и делиться идеями и копаться в коде, который «не для внешнего использования», – это весело. Я знаю, как начать отвечать на этот вопрос, если бы я этого не сделал, я бы ничего не написал. Хороший вопрос чувак!

  • Django исключить из числа аннотаций
  • Связанные объекты, связанные с Django
  • Как я могу указать базу данных для использования тестов Django, а не создавать ее каждый раз?
  • Django задает параметры конфиденциальности для каждой модели
  • Как установить начальное значение в динамическом Django ModelChoiceField?
  • Как следить за нажатием кнопки в Django?
  • Django CommandError: в приложениях «опросы» есть миграции
  • django-rest-framework + django-polymorphic ModelSerialization
  • Python - лучший язык программирования в мире.