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. 從RazorView對象獲取模型類型
- 2. Zend從uri獲取模型ID
- 3. backbone.js從JS對象獲取模型
- 4. 獲取值從對象到NG-模型
- 5. 如何從模型中獲取對象?
- 6. 從絕對Uri獲取流
- 7. 從H2O模型對象獲取模型詳細信息
- 8. 從Android資產目錄中獲取File對象或URI對象
- 9. 從泛型類型獲取類對象
- 10. 獲取模型對象,而不是雄辯建設者對象
- 11. 從holder.imageView獲取URI?
- 12. 從C#中的對象獲取類型
- 13. 如何從HitTest獲取對象類型?
- 14. Django的tastypie只取特定對象
- 15. 是否可以從模型中獲取當前URI?
- 16. TYPO3 extbase:獲取父對象模型對象
- 17. 如何從Django中的請求對象獲取URI?
- 18. 獲取包的URI類型
- 19. 獲取從對象
- 20. 獲取從對象
- 21. 獲取從對象
- 22. 獲取從對象
- 23. 從Sharepoint客戶端獲取weburl客戶端對象模型
- 24. Sharepoint 2010客戶端對象模型從Url獲取列表項
- 25. 提取GAM模型對象
- 26. Tastypie - 獲取正在編輯的對象列表(PUT/PATCH)
- 27. 獲取對象的列表,不響應tastypie資源
- 28. 如何從CheckboxTreeViewer獲取對象/對象?
- 29. 從對象內獲取父對象
- 30. 如何從對象鏈獲取對象