2012-11-30 71 views
0

我不斷收到此錯誤: 「DAL」對象有沒有屬性「event_instance」外鍵中的web2py

它指向我db_agents文件在這條線的罪魁禍首:

('event_instance_id', db.event_instance)

但是,如果我將event_instance表的定義移動到該db_agents模型文件,那麼該錯誤消失,但我在event_instance tbl中獲得了一個新的FKey。有沒有辦法避免把我所有的db.define_tables放在同一個文件中,我想將它們分開。

回答

1

你可以這樣做:

Field('event_instance_id', 'reference event_instance') 

使用替代語法,這是沒有必要將已經定義的「event_instance」表。

另請注意,模型文件是按字母順序執行的,所以只要在以字母順序排列的模型文件中定義「event_instance」表,就可以使用原始代碼。

+0

現在我得到了一個不同的錯誤,即使我在外鍵定義中只使用'引用'。我認爲只要我使用引用而不是db.tbl,定義表的順序並不重要。 – samaras

+0

然後你一定在做別的事情。如果使用上述語法,則不必定義已經定義的event_instance表。如果您既不顯示代碼,也不顯示您收到的錯誤,否則無法說出您的問題。 – Anthony