私はDjango v1.4を実行しています。
のソース コードを調べたところ、このクラスにはDjango の への外部キーであるオプションのフィールドがあるdjango.contrib.django.comments
ことに気付きました。また、フィールドを持つ自分自身を拡張しました(公式の推奨アプローチを使用)。Comment
user
User
User
UserProfile
user_type
すべての作業指示書にコメントを付けたいのですが、特定の人だけがuser_type
コメントを投稿できるようにします。したがって、現在、私はComment
2つのことを行うために拡張することを考えています:
- ログインしたユーザーのみがコメントを投稿できます。したがって
Comment.user
、必須にする必要があります。 user_type
コメントを投稿できるのは特定のユーザーのみです。
おそらく独自のクラスを作成して継承する必要があることはわかっていますComment
が、設計についていくつか質問があります。
Comment
(user_name
、user_email
、user_url
など)のすべてのオプション フィールドをそのままにしておく必要がありますか? もしそうなら、からの情報でそれらを追加する必要がありUser
ますか? それらを追加すると、データの正規化に違反する気がします。- 特定の のみでコメントを制限するにはどうすればよい
UserProfle.user_type
ですか? コメントがテンプレートに読み込まれることは理解していますが、テンプレートにif
-then
ブロックがあるかどうかをどのように制御すればよいですか? これは MVC モデルの設計に違反しているようです (パーミッションの制限はviews.py
.
ヒント、提案、参考資料をいただければ幸いです。前もって感謝します!これまで、コメント フレームワークのカスタマイズに関する Django のドキュメントを例として使用してきました。