web2py如何制作列表:db.py中其他表的引用

时间:2012-03-09 21:39:25

标签: python database web2py

我有一个app标签和一个应用图片。

如何从图像到app tag数据库进行引用?

标记应用db.py:

db.define_table('Tag',
   Field('Name', unique=True),
   format = '%(Name)s')

image app db.py:

db.define_table('Image',
   Field('Nom'),
   Field('Date_Creation',date),
   Field('Tag','list:reference Tag'),
   format = '%(Nom)s')

1 个答案:

答案 0 :(得分:1)

我认为你正在寻找多对多的关系;图像可以有很多标签,标签可以属于很多图像。

所以你需要另一个表来存储这两者之间的这种关系。

db.define_table('image_tag',
    Field('image', db.Image),
    Field('tag', db.Tag))

获取图片及其标签:

images_tags = db((db.Image.id==db.image_tag.image) & (db.Tag.id==db.image_tag.tag))
for row in images_tags.select():
    print row.Image.Nom, row.Tag.Name