我想使用“嵌套”网址/customers/<id>/orders
创建新订单POST
。我想customer_id
根据请求的 url获取相关订单<id>
。
Order
模型有一个与模型相关的customer = ForgeinKey(Customer,..)
字段Customer
。
到目前为止,我的方法是:
- 创建一个
OrderSerializer
create()
用于创建模型对象- 在创建过程中获取客户 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.id
给订单的customer_id
字段
该解决方案有效,但似乎非常肮脏。有没有更好的办法?
让我知道是否需要更多详细信息。
谢谢!