2011-07-23 6 views
3

カテゴリのモデルを作成する方法はわかりません。 1つまたは複数のグループのメッセージを投稿できるユーザーがいます。各メッセージには1つのカテゴリがあるため、訪問者はこのカテゴリのすべてのメッセージをフィルタリングできます。私はそのような実現について考えた:。どのように機能するのですか?

  • すべてのカテゴリのための、すべてのユーザーのための1つのテーブル。管理パネルのオートコンプリートウィジェットで利用可能なカテゴリをチェックし、正しいカテゴリのユーザが「プラス」アイコンを使用して追加するか、または保存メソッドの再定義でデータベースに新しいカテゴリを追加します。
  • カテゴリ - モデル内のCharFieldのみ。だから私はsplit()メソッドを使ってすべてのカテゴリを取得し、何らかの形で私のWebページに配置します。

メッセージのカテゴリを作成する他の方法はありますか?何か、それは異なるユーザーのためにカテゴリーを分けることができます。

答えて

4

Categoryというモデルを作成し、すべてのカテゴリを保持し、そのメッセージのカテゴリを保持するためのメッセージからカテゴリへのForiegnKey関係を作成し、UserProfileからManyToMany関係をカテゴリに格納します。特定のユーザー。

class Category(models.Model): 
    name = models.CharField(max_length=30) 

class Message(models.Model): 
    ... 
    category = models.ForeignKey(Category) 

class UserProfile(models.Model): 
    ... 
    categories = models.ManyToManyField(Category) 
関連する問題