【问题标题】:Foreign Keys in web2pyweb2py 中的外键
【发布时间】:2012-11-18 11:06:53
【问题描述】:

我不断收到此错误: “DAL”对象没有属性“event_instance”

它指向我的 db_agents 文件作为这一行的罪魁祸首:

('event_instance_id', db.event_instance)

但是,如果我将 event_instance 表的定义移动到该 db_agents 模型文件,错误就会消失,但我会得到一个新的,它引用 event_instance tbl 中的另一个 FKey。有没有办法避免将我所有的 db.define_tables 放在同一个文件中,我想将它们分开。

【问题讨论】:

    标签: python mysql data-access-layer web2py


    【解决方案1】:

    你可以这样做:

    Field('event_instance_id', 'reference event_instance')
    

    使用该替代语法,不必已经定义“event_instance”表。

    另外,请注意模型文件是按字母顺序执行的,因此只要“event_instance”表在按字母顺序较早的模型文件中定义,您的原始代码就可以工作。

    【讨论】:

    • 我现在得到一个不同的错误,即使我在外键定义中专门使用“引用”。我认为只要我使用引用而不是 db.tbl,我定义表的顺序并不重要。
    • 那你肯定做错了什么。如果使用上述语法,则不必已经定义 event_instance 表。如果您既不显示代码也不显示您收到的错误,就不可能说出您的问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-12-23
    • 2011-02-23
    • 2017-03-08
    • 2019-10-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多