/customers/<id>/ordersを使用して新しい注文を作成するために、「ネストされた」URL を使用したいと考えていますPOST。customer_idリクエストの url に基づいて関連する注文を取得したいと思い<id>ます。
Orderモデルには、モデルにcustomer = ForgeinKey(Customer,..)関連するフィールドがありCustomerます。
これまでの私のアプローチは次のとおりです。
- の作成
OrderSerializer create()Model オブジェクトの作成に使用する- からの作成中に顧客 ID を取得する
self.context['request'].get_full_path()と、完全な URL パスが返されます - を使用して顧客IDに基づいて顧客オブジェクトを取得する
customer_id = self.context['request'].get_full_path().split('/')[2]
customers = Customer.objects.get(id=customer_id)
customers.idOrder のcustomer_idフィールドに を割り当てる
このソリューションは機能しますが、非常に汚いようです。より良い方法はありますか?
さらに詳細が必要な場合はお知らせください。
ありがとう!