#django #django-orm
#django #django-orm
Вопрос:
Я использую поддержку нескольких баз данных django через маршрутизаторы базы данных для разделения определенных моделей на 1 БД, а других — на другую. (Обратите внимание, что «должен» ли я это делать, не имеет отношения к моему вопросу.) У меня есть 2 модели в одной базе данных, отличной от базы данных по умолчанию, и у них есть отношения «многие ко многим» (через ManyToManyField в одной из них). Я бы хотел, чтобы таблица, которая создается из-за отношения m2m, создавалась в той же базе данных, что и две модели, но, похоже, нет простого способа сделать это — функциональность маршрутизаторов базы данных допускает маршрутизацию только на основе модели. Обе модели маршрутизируются правильно, но не таблица m2m.
Я мог бы настроить поле m2m на использование промежуточной модели, чтобы я мог перенаправить эту модель в соответствующую базу данных, но я бы предпочел не делать этого, если я могу избежать этого, поскольку это устраняет простые функции добавления, удаления и т.д., Обычно доступные для полей m2m.
Есть ли другой способ сделать это? Если нет, стоит ли создавать запрос на это?
Комментарии:
1. Вы нашли решение этой проблемы?
2. @VladimirPrudnikov: Я не нашел решения этой проблемы — я закончил переносом моделей обратно в базу данных по умолчанию, чтобы избежать этого. Поскольку Django в настоящее время вынуждает обе стороны отношения m2m существовать в одной и той же базе данных, я уверен, что эта проблема возникает из-за недостатка либо в дизайне, либо в реализации функции маршрутизаторов базы данных.