5
A
回答
1
您是否在尋找flowchart?這真的取決於,當你想要對象。
在脫水週期內,您可以通過簡單的捆綁來訪問它。
class MyResource(Resource):
# fields etc.
def dehydrate(self, bundle):
# Include the request IP in the bundle if the object has an attribute value
if bundle.obj.user:
bundle.data['request_ip'] = bundle.request.META.get('REMOTE_ADDR')
return bundle
如果要手動檢索由API URL的對象,因爲通過默認的ORM方案,您可以簡單地穿越塞或主鍵(或者不管它是什麼)的模式?
2
Tastypie的Resource類(這是ModelResource的子類)提供了一個方法get_via_uri(uri, request)
。請注意,他撥打apply_authorization_limits(request, object_list)
,如果您沒有收到預期的結果,請確保以通過您的授權的方式編輯您的請求。
一個不好的選擇是使用正則表達式從你的url中提取id,然後用它來過濾所有對象的列表。這是我骯髒的黑客直到我get_via_uri工作,我不建議使用這個。 ;)
id_regex = re.compile("/(\d+)/$")
object_id = id_regex.findall(your_url)[0]
your_object = filter(lambda x: x.id == int(object_id),YourResource().get_object_list(request))[0]
2
您可以使用get_via_uri
,但作爲@Zakum提到,它將應用您可能不想要的授權。所以挖掘到源爲這個方法我們可以看到,我們可以解析URI是這樣的:
from django.core.urlresolvers import resolve, get_script_prefix
def get_pk_from_uri(uri):
prefix = get_script_prefix()
chomped_uri = uri
if prefix and chomped_uri.startswith(prefix):
chomped_uri = chomped_uri[len(prefix)-1:]
try:
view, args, kwargs = resolve(chomped_uri)
except Resolver404:
raise NotFound("The URL provided '%s' was not a link to a valid resource." % uri)
return kwargs['pk']
如果您的Django應用程序位於Web服務器的根目錄(即get_script_prefix() == '/'
),則可以簡化這個到:
view, args, kwargs = resolve(uri)
pk = kwargs['pk']
相關問題
- 1. 從對象獲取URI
- 2. 從RazorView對象獲取模型類型
- 3. Zend從uri獲取模型ID
- 4. 如何從位圖獲取Uri對象
- 5. 如何從模型中獲取對象?
- 6. backbone.js從JS對象獲取模型
- 7. 從絕對Uri獲取流
- 8. 從H2O模型對象獲取模型詳細信息
- 9. 從Android資產目錄中獲取File對象或URI對象
- 10. 從基於ForeignKey對象的模型獲取對象
- 11. 從tastypie中的URI獲取完整實例
- 12. 從泛型類型獲取類對象
- 13. Tastypie get_or_create對象
- 14. 從Tastypie獲取所有URL
- 15. Symfony獲取表單模型對象
- 16. 獲取模型對象,而不是雄辯建設者對象
- 17. 從holder.imageView獲取URI?
- 18. 從MainViewModel獲取Uri
- 19. 從對象獲取變量類型
- 20. 從C#中的對象獲取類型
- 21. 從對象中獲取特定類型
- 22. 如何從HitTest獲取對象類型?
- 23. 獲取文件擴展名或從Uri對象C#「HasExtension」型布爾
- 24. 是否可以從模型中獲取當前URI?
- 25. 刪除對象tastypie
- 26. django tastypie改變模型提取
- 27. 爲「singleton」非模型對象創建tastypie資源
- 28. AttributeError的:「名單」對象有沒有屬性「模型」 TastyPie
- 29. TYPO3 extbase:獲取父對象模型對象
- 30. 如何從Django中的請求對象獲取URI?