嗨,我想在modelviewset
中创建一个自定义方法,它需要在单个发布请求中执行保存和更新逻辑。在DRF模型上执行创建和更新的自定义函数ViewSetSet
这是我的breeding.viewsets.py
class BreedingViewSet(viewsets.ModelViewSet):
queryset = Breeding.objects.all()
serializer_class = BreedingSerializer
由于上述方法具有更高的抽象级别是 实际提供或执行自动CRUD功能。
现在,这里的问题是我没有对多个查询像保存一个对象,并在一个单一的POST请求更新另一个对象的任何控制。
e.g
def save_and_update(self, request):
// do save an object here.
// do update an object here.
我们如何能达到这样强大的功能?我错过了什么吗?我发现这documentation,但我不知道如何实现给定的指令。
UPDATE
这是找什么IM的How do I create multiple model instances with Django Rest Framework?
但答案只能save
在同一型号的单篇文章请求的多个实例。但我也希望我们可以在单一函数中为不同的模型执行查询。
我不知道您有一个什么问题。您似乎想要重写模型视图集的默认行为,但我不确定您遇到什么问题。您可以通过在视图集中定义create()来覆盖POST方法处理。您可以通过在视图集中定义update()来覆盖PUT方法处理。你也可以在你的序列化程序中定义create()和update()。你究竟想要做什么? –
@MadWombat来澄清我的问题。我需要使用modelviewset添加一个对象并使用单个发布请求更新另一个对象。我想定义一个像create()这样的函数来添加数据并更新其他数据。希望我解释得很好。 –
正确的解决方案取决于您的实际问题。我仍然不知道它是什么。你是否创建了多个相同类型的对象?它们与视图模型的类型相同吗?它们是嵌套的吗?他们有关系吗? –