【问题标题】:Extending an existing web2py database扩展现有的 web2py 数据库
【发布时间】:2011-08-12 08:24:43
【问题描述】:

我有一个现有的 web2py 应用程序。现在我需要使用一个 db 表创建一个新的注册表单,其中包含一个需要来自不同表的行的字段。

这应该类似于您通常在注册表单中看到的国家/地区字段,除了我希望人们能够在值不存在的情况下将值添加到“国家/地区”表中。

【问题讨论】:

    标签: python web2py


    【解决方案1】:

    对之前的回复做一点小改进:

    # 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 邮件列表的响应速度更快。

    【讨论】:

    • 感谢 Massimo,感谢您的改进 :) 我也会去 Google Group 看看,谢谢。
    • 刚试过这样做,但我收到错误:int() 的无效文字,基数为 10:'Plumber'。这是我的代码:db.define_table(auth.settings.table_user_name, Field('title', db.title), format='%(name)s', ) db.define_table('title', Field('name'), format='%(name)s' ) 很困惑我做错了什么。
    【解决方案2】:

    您可以使用一对多关系(参见book):

    db.define_table('country',
                    Field('name'),
                    Field('desc'))
    
    db.define_table('user',
                    Field('name'),
                    Field('origin'), db.country))
    

    顺便说一句,您可以在 web2py Googlegroup 上提问,Massimo 可能会更有反应

    【讨论】:

    • 谢谢!我不知道它被称为一对多关系:)
    猜你喜欢
    • 1970-01-01
    • 2016-11-23
    • 1970-01-01
    • 1970-01-01
    • 2014-02-10
    • 1970-01-01
    • 2011-04-18
    • 2011-12-10
    • 2012-12-02
    相关资源
    最近更新 更多