0

多対多の関係に関するRESTデータを提供する必要があります。私はweb2pyの素敵なparse_as_rest機能で遊んでいますが、多対多のものを完全に機能させることはできません。

例として、標準のユーザーとグループを取り上げましょう。

テーブル:

  1. ユーザー
    • id
    • user_name
  2. グループ
    • id
    • グループ名
  3. メンバーシップ
    • id
    • ユーザーID
    • group_id

ユーザーが属するすべてのgroup_nameを取得するURLを提供するには、どのパターンを使用する必要がありますか?

patterns = [
"/user[user]",
"/user[user]/id/{user.id}",
"/user[user]/id/{user.id}/membership[membership.user_id]",

# This is the line that I can't make yet:
#"/user[user]/id/{user.id}/membership[membership.user_id]/group<WHAT GOES HERE>",

"/group[group]",
"/group[group]/id/{group.id}",
]
parser = db.parse_as_rest(patterns, args, vars)

上記のコメントされていない行で、私はこれらのURLにたどり着くことができます:

  1. .../ユーザー
  2. ... / user / id / 1
  3. ... / user / id / 1 / membership
  4. .../グループ
  5. ... / group / id / 3

URL#3にはすべてのメンバーシップが表示され、URL#5を何度か呼び出してgroup_name値を取得できますが、これを1回の呼び出しで行う方法が必要です。

StackOverflowを手伝ってください!あなたは私の唯一の希望です。

編集:悪いカットと貼り付けを修正しました。

4

1 に答える 1

0

この質問は、そのトピックの Google 検索の一番上にあります。

多対多テーブルからクエリの構築を開始するだけです。

/user[membership]/id/{membership.user_id}/groups[group.id]

このリクエストには「user」テーブルは必要ありません。

次に、「/user/id/22/groups」にリクエストすると、ID だけでなくすべてのグループが表示されます。

于 2013-07-22T22:19:30.587 に答える