簡體   English   中英

為什么從資源API獲取的運單號與數據庫中記錄的運單號不同?

[英]Why tracking number get from resource API is different from the tracking number recorded in database?

我在CKAN 2.7.3 API 文檔中使用了resource_show從特定資源中獲取元數據。 在我的tracking_summary表中,我有一些資源的跟蹤編號大於 0。但是,當我將resource_show{'include_tracking': True} ,它顯示recenttotal都是 0。

我在tracking_summary表中的資源記錄如下所示:

                                                       url                                                       | running_total | recent_views 
-----------------------------------------------------------------------------------------------------------------+---------------+--------------
/dataset/d5cd38f4-03df-450e-9eb8-4967bc9741da/resource/844625fb-80a9-445c-85e7-5be8f10ec57b/download/test.csv    |             1 |            1

我確認我已經運行了paster tracking updatepaster search-index rebuild 我不知道我現在錯過了什么。

我找出了原因。 如果我們查看我們存儲在tracking_summary表中的url ,它不包含 http 架構和域: http://example.ckan.com 但是,如果我們從resource表中查詢資源,則url將包含完整的 http url。 此外,當您嘗試在應用程序中使用{'include_tracking': True}調用resource_show API 時, Tracking模型中的get_for_resource(cls, url)將引用完整url而不是部分url 因此,如果我們存儲部分的, get_for_resource將在data = obj.filter_by(url=url).order_by(text('tracking_date desc')).first()行失敗。 因此,當我們在tracking_summary保存資源 url 時,我們應該存儲完整的,例如: http://example.ckan.com/dataset/<package_id>/resource/<resource_id>/<file_name>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM