Слабое сцепление Django и расширение уже существующей модели - PullRequest
0 голосов
/ 20 июля 2011

Допустим, я создаю блог приложения [который не имеет значения, он только там, чтобы я мог сделать app.blog.posts - так что это на самом деле просто папка], а затем в блоге я создаю посты приложения внутри блога, и посты определяют модельный пост. После того, как я это сделаю, я создам категории приложений в блоге, которые должны расширить модельные посты (или любую модель, например посты - добавление поля категории к посту), а затем создадим свою собственную таблицу. Если бы эти приложения были совершенно не связаны (например, django-tags), как категории могли бы расширять публикацию, не осознавая этого в конечном итоге? Я немного растерялся из-за слабой связи в django, поэтому, возможно, кто-нибудь может объяснить мне это, пожалуйста (если нет уже примеров, но я не смог найти хороший пример, который следует этому стилю мышления.)

1 Ответ

2 голосов
/ 20 июля 2011

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

Если вам просто нужны сообщения в блоге, чтобы иметь категории, в чем проблема с использованием внешнего ключа в сообщениях блога?

Всегда полезно разрабатывать приложения django как можно более универсальными, то есть создавать собственное приложение, если оно может быть использовано повторно.

...