【发布时间】:2011-08-12 08:24:43
【问题描述】:
我有一个现有的 web2py 应用程序。现在我需要使用一个 db 表创建一个新的注册表单,其中包含一个需要来自不同表的行的字段。
这应该类似于您通常在注册表单中看到的国家/地区字段,除了我希望人们能够在值不存在的情况下将值添加到“国家/地区”表中。
【问题讨论】:
我有一个现有的 web2py 应用程序。现在我需要使用一个 db 表创建一个新的注册表单,其中包含一个需要来自不同表的行的字段。
这应该类似于您通常在注册表单中看到的国家/地区字段,除了我希望人们能够在值不存在的情况下将值添加到“国家/地区”表中。
【问题讨论】:
对之前的回复做一点小改进:
# create auth
auth = Auth(db)
# create the country table
db.define_table('country',
Field('name'),
Field('desc'),
format = '%(name)s')
# say you want to add it to auth_user table (not yet created)
auth.settings.extra_fields['auth_user']=[Field('country','reference country')]
# ask auth to make the auth tables, including auth_user
auth.define_tables()
JMax 是对的。我们对 web2py 邮件列表的响应速度更快。
【讨论】:
db.define_table(auth.settings.table_user_name, Field('title', db.title), format='%(name)s', ) db.define_table('title', Field('name'), format='%(name)s' ) 很困惑我做错了什么。
您可以使用一对多关系(参见book):
db.define_table('country',
Field('name'),
Field('desc'))
db.define_table('user',
Field('name'),
Field('origin'), db.country))
顺便说一句,您可以在 web2py Googlegroup 上提问,Massimo 可能会更有反应
【讨论】: