Django REST framwork 3.1 PUTascreate mixin类,自定义查找_字段

2024-09-29 06:24:00 发布

您现在位置:Python中文网/ 问答频道 /正文

利用PUT as create mixin提供的类HERE(classAllowPUTAsCreateMixin):

class Tree(models.Model):   
   myfield = models.CharField(max_length=100,unique=True)
   species = models.CharField(max_length=100, blank=True, default='')
^{pr2}$
class TreeView(viewsets.ModelViewSet, AllowPUTAsCreateMixin):

     queryset = Tree.objects.all()
     serializer_class = TreeSerializer
     lookup_field = 'myfield'

     def update(self, request, myfield=None):
        return AllowPUTAsCreateMixin.update(self, request, lookup_field='myfield')
class AllowPUTAsCreateMixin(object):

     def update(self, request, *args, **kwargs):
          lookup_field = kwargs.pop('lookup_field')

以JSON格式提交数据时(使用httpie):

httpPUT127.0.0.1:8000/xxx/trees/123456<;树.json在

对象已创建并公开@/../trees/{myfield}

完成了!在


Tags: selftruetreefieldmodelsrequestdefupdate