【问题标题】:Can web2py serve REST data of many-to-may tables via parse_as_rest?web2py 可以通过 parse_as_rest 提供多对多表的 REST 数据吗?
【发布时间】:2013-07-23 06:43:04
【问题描述】:

我需要提供有关多对多关系的 REST 数据。我一直在玩 web2py 的可爱的 parse_as_rest 功能,但不能完全让多对多的东西正常工作。

以标准用户和组为例。

表格:

  1. 用户
    • 身份证
    • 用户名
    • 身份证
    • 组名
  2. 会员
    • 身份证
    • user_id
    • group_id

我需要使用什么模式来提供一个 url,它会给我一个用户所属的所有 group_name?

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)

通过上面未注释的行,我可以访问这些网址:

  1. .../用户
  2. .../user/id/1
  3. .../user/id/1/membership
  4. .../组
  5. .../group/id/3

URL #3 显示了我的所有成员资格,然后我可以对 URL #5 进行多次单独调用以获取 group_name 值,但必须有一种方法可以通过一次调用来完成此操作。

帮助我 StackOverflow!你是我唯一的希望。

编辑:修复了错误的剪切和粘贴。

【问题讨论】:

    标签: rest many-to-many web2py


    【解决方案1】:

    这个问题在谷歌搜索该主题的顶部。

    从多对多表开始构建查询。

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

    对于这个请求,你真的不需要 'user' 表。

    然后对“/user/id/22/groups”的请求将为您提供所有组,而不仅仅是他们的 ID。

    【讨论】:

      猜你喜欢
      • 2013-02-14
      • 1970-01-01
      • 1970-01-01
      • 2014-07-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-06-04
      相关资源
      最近更新 更多