2011-09-09 10 views
0

回復できるようにするには、複数のグループ内のユーザーのメンバーシップを保存するために必要な関係のどのような種類:ManyToManyリレーションシップを使用してユーザーのメンバーシップを追跡する方法は?

  1. いくつかのグループにおけるユーザー参加の歴史(日付は日が終了し、参加しました)現在のユーザー・グループの
  2. リスト(で)私はそれが多対多(またはOneToManyの醜い一種であると思い、所定の期間

で、そのグループに参加したユーザー、彼の現在の状態

  • リストを決定するために)参加することができますが、あなたにどのように理解していないそれを見てください。 Djangoのモデルには最小限の例が必要です。

    また、一部のグループまたはユーザーを削除する必要がある場合に、一貫性の問題が予想されますか。

  • 答えて

    1
    • メンバー
    • グループ
    • GROUPMEMBERS

    GROUPMEMBERSであるあなたのテーブルに参加してのようなものがあります。

    • メンバー(1人のメンバーは、多くのgroupmemberレコードを持っている)
    • グループ(1つのグループには多数のグループメンバーレコードがあります)
    • あなたの要件については、だから、日付
    • 削除日(該当するまでヌルを残す)

    作成:グループと

    1. クエリGROUPMEMBERSとメンバーと日付でソート
    2. クエリGROUPMEMBERSを(
    3. グループを持ち、削除がnull(または日付範囲内)のクエリグループメンバー
    関連する問題