2
我的產品模型有一個名爲「product_id」的額外字段,它是一個uuid字符串。現在我可以根據主鍵ID獲取產品詳細信息。我想通過使用「product_id」字段來更改它以獲取產品詳細信息。Django rest框架:使用主鍵以外的字段獲取詳細視圖整數ID
我現在的urls.py
url(r'^products/(?P<pk>[0-9]+)/$', views.ProductDetailCustom.as_view(), name='product-detail'),
現在我打電話這樣。
http://127.0.0.1:8000/api/v1/products/1460
我想這應該是這樣的。
http://127.0.0.1:8000/api/v1/products/04396134-3c90-ea7b-24ba-1fb0db11dbe5
views.py
class ProductDetailCustom(generics.RetrieveAPIView):
queryset = Product.objects.all()
serializer_class = ProductCustomSerializer
serializer.py
class ProductCustomSerializer(serializers.ModelSerializer):
class Meta:
model = Product
fields = ('url', 'id','product_id', 'title', 'description','structure','date_created',)
我覺得我必須包括一看場實現這一目標。
需要urls.py做怎樣的改變?實際上,我們需要調用字符串作爲product_id –
更改正則表達式以確保它可以接受'product_id'。現在它似乎只接受數字? – masnun
這樣? 'url(r'^ products /(?P [\ w \ - ] +)/ $',views.ProductDetailCustom.as_view(),name ='product-detail')' –