使用联结表在表单上生成多选选项 - >的web2py

时间:2012-04-22 20:42:38

标签: python database web2py

我有两张表,它们之间有多对多的关系。一个表包含属性类型,另一个表包含区域。

为了简单起见,我们可以说它是这样的:

_property_
id
name
description

_region_
id
name

_property-region_
id
property.id
region.id

我想构建一个表单来创建新属性,我希望这个表单包含一个多选项,允许用户指定属性可用的区域。

据我所知,我可以使用list:reference创建一个多选表单,而无需实际创建联结表,但我有兴趣学习如何在不对数据库进行反规范化的情况下执行此操作。

1 个答案:

答案 0 :(得分:0)

它没有脱毒? 每个地区可以拥有许多属性,关系由地区持有...... 在查询级别上,您只需要提供包含属性id的区域...(无论哪种方式,即使您有连接/通过表,也必须查询db)

如果您有关于关系的具体信息,您必须自己处理该逻辑。不是很难, 创建两个表单验证属性信息,记录将在数据库中,因此您拥有id。然后只需将该id作为关系的一部分添加,将所有选定的项添加为其他部分。