私はアプリケーションブログを作成すると言います[これはちょうどそこにあるのでapp.blog.postsを行うことができます - それは本当に単なるフォルダです]そしてブログの私ですブログの内部にアプリの投稿を作成し、投稿はモデル投稿を定義します。私はこれをした後、私はモデルの投稿(またはポストのような任意のモデル - 投稿するカテゴリフィールドを追加する)を拡張する必要がありますし、独自のテーブルを作成するブログでアプリケーションのカテゴリを作成します。これらのアプリケーションが完全に無関係な場合(exg:django-tags)、カテゴリはどのようにして最終的にそれを認識することなく投稿を拡張することができますか?私はちょっと混乱しているので、誰かが私に説明することができます(すでに例はないが、このような考え方に従う良い例は見つけられませんでした)。Django looseカップリングと既存のモデルを拡張する
0
A
答えて
2
"extend"何らかの形で機能を追加するには、一般的にsignalsが良いアイデアです。シグナルを使用すると、モデルファイルを変更することなく、モデルのメソッドの一部にフックすることができます。
ブログ投稿にカテゴリが必要な場合は、ブログ投稿に外部キーを使用するとどうなりますか?
djangoアプリケーションをできるだけジェネリックとして設計することは、常に良いアイデアです。つまり、再利用する可能性が高い場合は、独自のアプリケーションにしてください。
+0
モデルファイルを修正せずにモデル信号のリスニングの例を挙げることはできますか? –
関連する問題
- 1. EMF既存のモデルを拡張する
- 2. Djangoでモデルを拡張する
- 3. 既存のインターフェイスを拡張する
- 4. 既存のantパスタグを拡張する
- 5. 既存のweb2pyデータベースを拡張する
- 6. Moodle - 既存のプラグインを拡張する
- 7. 既存のtmLanguageファイルを拡張する
- 8. TYPO3:モデルを拡張して既存のテーブルにマップ
- 9. VSコード拡張API:既存のファイルエクスプローラを拡張/拡張することは可能ですか?
- 10. Django - 拡張モデルの効率的なクエリ
- 11. 既存のエンティティを拡張してゲッターとセッターをオーバーライドする
- 12. 既存のiOSアプリのiMsg拡張子
- 13. Java RCP:既存の拡張機能から拡張ポイントを作成する
- 14. ジャンゴ:拡張Userモデル
- 15. 既存のページコンテンツと対話するFirefox拡張子
- 16. 複数のモデルを作成してDjangoユーザーを拡張する
- 17. Djangoモデルsyncdb既存テーブルの作成
- 18. Djangoモデルを拡張する際の問題
- 19. Shopwareモデルを拡張する
- 20. AbstractBaseUserを拡張したdjangoモデル保存関数をオーバーライドします
- 21. auth.Userモデル、プロキシフィールド、およびDjango管理者を拡張する
- 22. C#インターフェイスを使用して既存のアプリケーションを拡張する
- 23. Symfonyの既存のクラスを拡張する
- 24. 既存のクラスのインデクサーを拡張する
- 25. OCamlの既存の型を拡張する
- 26. Gradle:既存のタイプのDLSを拡張する
- 27. Djangoのモデル/フォーム - 既存のモデルを取得し、別の
- 28. djangoビューを拡張する
- 29. WP REST API既存のコントローラを拡張する
- 30. 既存のjQuery関数を拡張する
[Djangoの一般的な関係](https://docs.djangoproject.com/en/dev/ref/contrib/contenttypes/#generic-relations)が解決策を提供するかもしれません。 [この記事](http://blog.swierczynski.net/2010/08/generic-relationships-in-django/)は、それらの行動を示しています。 – Paolo