में रिवर्स यूआरएल बिल्डिंग अगर कोई टेस्टपी-मेलिंगलिस्ट पढ़ता है: मुझे वहां कोई जवाब नहीं मिला, इसलिए क्रॉसपोस्टिंग के लिए खेद है।get_resource_uri
Tastypie में, मैं एक संसाधन के URL पैटर्न बदल गया है, क्योंकि मैं पी की तुलना में एक और कुंजी का उपयोग करें। जब मैं संसाधन तक पहुंचता हूं तो यह ठीक काम करता है। अब मैं इस संसाधन को मूल संसाधन में घोंसला करना चाहता हूं, लेकिन नेस्टेड संसाधन में पीके के साथ यूआरआई शामिल है, न कि मेरी कस्टम कुंजी। मैंने जो सीखा वह यह है कि मेरे मामले में, मुझे बच्चे के get_resource_uri को बदलना होगा।
अपने बच्चे के संसाधन में विधि (जो एक NamespacedResource है) इस तरह दिखता है:
def override_urls(self):
return [
url(r"^(?P<resource_name>%s)/(?P<custom_id>[-_\w\d]+)%s$" % (
self._meta.resource_name,
trailing_slash()
),
self.wrap_view('dispatch_detail'),
name="api_dispatch_detail"
),
]
लेकिन आवेदन यूआरएल रिवर्स नहीं कर सकते हैं:
def get_resource_uri(self, bundle_or_obj):
obj = bundle_or_obj.obj if isinstance(bundle_or_obj, Bundle) else bundle_or_obj
kwargs={
'resource_name': self._meta.resource_name,
'custom_id': obj.custom_id
}
return self._build_reverse_url('api_dispatch_detail', kwargs=kwargs)
बच्चे के यूआरएल ओवरराइड विधि यह है। मैं कैसे ठीक से यूआरएल को उल्टा करते
Reverse for 'api_dispatch_detail' with arguments '()' and keyword arguments '{'custom_id': u'3_ee5-4423', 'resource_name': 'myresource'} not found.
: मैं इस त्रुटि मिलती है?
अग्रिम धन्यवाद।
सही है, धन्यवाद! – schneck