2011-05-04 11 views
0

我嘗試使用SQLAlchemy 0.6.4-3從Ubuntu 11.04回購協議中使用Camelot 10.07.02-c2-4build1,當我嘗試引用表視圖中的外鍵時,我得到以下堆棧跟蹤:__ camel_key error Camelot

ERROR:camelot.view.model_thread.signal_slot_model_thread:exception caught in model thread while executing get_columns -> QueryTableProxy.setColumns 
Traceback (most recent call last): 
    File "/usr/lib/python2.7/dist-packages/camelot/view/model_thread/signal_slot_model_thread.py", line 31, in execute 
    result = self._request() 
    File "/usr/lib/python2.7/dist-packages/camelot/view/proxy/collection_proxy.py", line 272, in get_columns 
    self._columns = columns_getter() 
    File "/usr/lib/python2.7/dist-packages/camelot/view/model_thread/__init__.py", line 56, in wrapper 
    return original_function(*args, **kwargs) 
    File "/usr/lib/python2.7/dist-packages/camelot/admin/object_admin.py", line 418, in get_columns 
    for field in self.list_display] 
    File "/usr/lib/python2.7/dist-packages/camelot/view/model_thread/__init__.py", line 56, in wrapper 
    return original_function(*args, **kwargs) 
    File "/usr/lib/python2.7/dist-packages/camelot/view/elixir_admin.py", line 198, in get_field_attributes 
    foreign_keys = list(property._foreign_keys) 
AttributeError: 'RelationshipProperty' object has no attribute '_foreign_keys' 

我的代碼是必不可少的以下內容:

class Customer(Entity): 
    name = Field(Unicode(200)) 
    packages = OneToMany("Package") 

    class Admin(EntityAdmin): 
     list_display = ['name'] 

class Package(Entity): 
    interval_months = Field(Integer) 
    customer = ManyToOne("Customer") 

    class Admin(EntityAdmin):  
     list_display = ['interval_months', 'customers'] # here is the error 

搜索給了我一些暗示在mailinglist,但我真的不明白我怎麼能解決這個問題。

回答

0

SQLAlchemy的版本更改了Camelot使用的API,因此需要更新Camelot。