0

web2py と SQLFORM.grid に苦労しています。

私がやりたいことは次のとおりです。

3 つのデータベース テーブルがあります: items、tag、およびクロス テーブルの itemtag です。

1 つのアイテムに複数のタグを付けることができ、1 つのタグが複数のアイテムに属することができます。

私がこれまでに持っているもの:

fields = [db.items.id, db.items.title, db.items.rating, db.tag.title]
left = [db.itemtag.on(db.items.id==db.itemtag.item_id), db.tag.on(db.itemtag.tag_id==db.tag.id)]
items = SQLFORM.grid(db.items, left=left, orderby=[db.items.title], fields=fields, create=False, editable=False, details=False, showbuttontext=False, paginate=50, links = [lambda row: A(I(_class="icon-edit"),_href=URL("default","item_edit",args=[row.items.id]))])

これで、SQLFORM.grid はすべてのアイテムを含むグリッドを生成します。しかし残念なことに、項目に複数のタグがある場合、グリッドに複数の行が表示されます。このような:

ID | item  | tag
1  | item1 | tag 1
1  | item1 | tag 2
1  | item1 | tag 3
2  | item2 | tag 2
....

今、SQLFORM.grid の groupby 関数を探しています。私が欲しいのは次のとおりです。

ID | item  | tag
1  | item1 | tag1, tag2, tag3
2  | item2 | tag

アドバイスをお待ちしております。

4

1 に答える 1