2012-06-30 79 views
0

相同的代碼,在開發過程中生產不工作是的。prod和dev之間的差異是什麼?

型號:

class Comput(ndb.Model): 
    @staticmethod 
    def membership(user): 
     q = ndb.gql("SELECT * FROM Members WHERE member = :1", user) 
     result = q.fetch() 
     return [m.comput.get() for m in result] 
     #return [m.comput.get() for m in q] #same issue (dev yes, prod no) 

class Members(ndb.Model): 
    comput = ndb.KeyProperty(kind=Comput) 
    member = ndb.UserProperty() 

處理程序:

comput_list = Comput.membership(users.get_current_user()) 

模板:

{% for comput in comput_list %} 
    <tr onclick="location.href='/comput?id={$ comput.key.id() $}'"> 

回溯(僅限於生產):

UndefinedError: 'None' has no attribute 'key' 

即使comput_list有實體,也會出現這種情況。

更新:沒有會員自動生成指數,我試圖手動添加,但沒有任何變化

+0

只要確定:什麼代碼行會引發錯誤?你在生產中是否有數據? –

+0

該行是'

+0

似乎comput_list返回'None'。無論如何,我期望空模板,沒有錯誤 –

回答

1

看起來你Members對象之一有沒有爲它的comput財產。我將使用生產數據查看器(或添加日誌語句)來查找它是哪個成員。

+0

是的!刪除Comput實體的函數也不會刪除引用的成員實體。然後我有一個具有計算屬性的成員實體,鏈接到錯過的Comput實體。 –

相關問題