在DRF modelViewSet上执行创建和更新的自定义函数
问题内容:
嗨,我想在其中创建一个自定义方法,modelviewset
该方法需要在单个发布请求中执行保存和更新逻辑。
这是我的 breeding.viewsets.py
class BreedingViewSet(viewsets.ModelViewSet):
queryset = Breeding.objects.all()
serializer_class = BreedingSerializer
由于上述方法具有较高的抽象级别,并且实际上是提供或执行自动CRUD功能。
现在的问题是我没有对多个查询的任何控制,例如保存对象并在单个发布请求中更新另一个对象。
例如
def save_and_update(self, request):
// do save an object here.
// do update an object here.
我们如何实现如此强大的功能?我错过了什么吗?我找到了此文档,但我不知道如何执行给定的说明。
更新
这就是我在寻找的内容如何使用Django Rest
Framework创建多个模型实例?
但是答案只能save
是同一模型的单个发布请求中的多个实例。但我也希望我们可以在单个函数中对不同的模型执行查询。
问题答案:
好了,从注释中看,您似乎想在创建繁殖模型时更新一些不相关的模型。这应该很容易。
类BreedingViewSet(viewsets.ModelViewSet):
queryset = Breeding.objects.all()
serializer_class = BreedingSerializer
def创建(自己,请求):
#在这里做你的事
返回super()。create(请求)