2014-12-07 43 views
1

在我的應用程序中,我想爲我的一些資源端點使用item_lookup_field設置。另外我需要版本控制。使用item_lookup_field進行版本創建KeyError

settings.py我有以下幾點:

[...] 
VERSIONING = True 
ITEM_URL = 'regex("[a-z0-9]{0,24}")' 
DOMAIN = { 
    'people': { 
     'item_lookup_field': 'lastname', 
     'type': 'dict', 
     'schema': { 
      'firstname': { 'type': 'string' }, 
      'lastname': { 'type': 'string', 'required': True, 'unique': True }, 
     } 
    } 
} 

一個GET的enpoint /people/obama作品,但/people/obama?version=1創建以下KeyError異常:

Traceback (most recent call last): 
    File "/foobar/eve0.5_env/lib/python2.7/site-packages/Flask-0.10.1-py2.7.egg/flask/app.py", line 1836, in __call__ 
return self.wsgi_app(environ, start_response) 

[...] 

    File "/foobar/eve0.5_env/lib/python2.7/site-packages/Eve-0.5_dev-py2.7.egg/eve/methods/get.py", line 210, in getitem 
resource, req, lookup, document, version) 
    File "/foobar/eve0.5_env/lib/python2.7/site-packages/Eve-0.5_dev-py2.7.egg/eve/versioning.py", line 257, in get_old_document 
    lookup[versioned_id_field()] = lookup[app.config['ID_FIELD']] 
KeyError: '_id' 

我需要改變我的配置?

這是一個錯誤?


PS:第一次發帖,請如果你需要什麼

回答

1

我相信Document Versioning僅支持標準的端點(ID_FIELD),而不是在item_lookup_filter告訴我。儘管如此,您可能想要打開一張票據,所以Josh和其他從事Versioning工作的人員可以查看是否可以添加對替代端點的支持。

1

我沒有足夠的「信譽」發表評論,所以這不是一個答案,但對尼古拉的回答評論:

同意,我想我們根本不會實現該功能。請在Github上打開一張票(並提交一個請求?!)。

+0

done (https://github.com/nicolaiarocci/eve/issues/524) – otibsa 2014-12-09 23:31:19