На моем сайте django у меня есть два приложения, блог и ссылки. у блога есть блог-блог модели, а ссылки имеют ссылку на модель. Между этими двумя вещами должно быть одно-много отношений. Есть много ссылок на blogpost, но у каждой ссылки есть одно и только одно сообщение в блоге. Простой ответ - поставить ForeignKey на blogpost в модели ссылок.Как смоделировать внешний ключ в многоразовом приложении Django?
Это все хорошо и хорошо, однако есть проблемы. Я хочу сделать приложение ссылок повторно используемым. Я не хочу, чтобы это зависело от приложения для блога. Я хочу, чтобы иметь возможность использовать его снова на других сайтах и, возможно, связывать ссылки с другими приложениями и моделями, отличными от blogpost.
Общий внешний ключ кажется, что это может быть ответ, но не совсем. Я не хочу, чтобы ссылки могли быть связаны с какой-либо моделью на моем сайте. Только тот, который я явно указываю. И я знаю из предыдущего опыта, что могут возникать проблемы с использованием общих внешних ключей с точки зрения использования базы данных, потому что вы не можете делать select_related по родовому внешнему ключу, как вы можете, с помощью обычного внешнего ключа.
Что такое «правильный» способ моделирования этих отношений?
Я забыл, что django позволяет использовать имена строковых моделей для этого. +1 – SingleNegationElimination
О, ничего себе, отличная идея использовать настройки. Благодаря! – Apreche
Обратите внимание, что для этого подхода потребуются новые миграции на уровне многоразового использования. – Bula