博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Vue + Django 2.0.6 学习笔记 10.2 修改购物车数量
阅读量:4127 次
发布时间:2019-05-25

本文共 1358 字,大约阅读时间需要 4 分钟。

我们接着上节的说

上节课我们写完代码时候 尝试着去修改购物车数量,然后他报错了

我点update就报错

为毛它要我实现update()函数 ?Serializer没有帮我搞定么?

= =还真没有  意思要我自己来? 好吧

class ShopCartSerializer(serializers.Serializer):    def update(self, instance, validated_data):        #修改商品数量 instance 其实是值model(ShoppingCart)的实例        instance.nums = validated_data["nums"]        instance.save()        return instance

这样就可以了。 对了 在viewset那边需要添加一个跟用户收藏那里同样的代码:

class ShoppingCartViewset(viewsets.ModelViewSet):    lookup_field = "goods_id"

这样显示出来的才是goods的ID 而不是表自动生成的id

代码写完 测试下

搞定 

贴下ModelSerializer的update函数代码

# ModelSerializer    def update(self, instance, validated_data):        raise_errors_on_nested_writes('update', self, validated_data)        info = model_meta.get_field_info(instance)        # Simply set each attribute on the instance, and then save it.        # Note that unlike `.create()` we don't need to treat many-to-many        # relationships as being a special case. During updates we already        # have an instance pk for the relationships to be associated with.        for attr, value in validated_data.items():            if attr in info.relations and info.relations[attr].to_many:                field = getattr(instance, attr)                field.set(value)            else:                setattr(instance, attr, value)        instance.save()        return instance

所以 还是ModelSerializer方便 能用它就尽量用它吧

转载地址:http://jsepi.baihongyu.com/

你可能感兴趣的文章
IPS开发手记【一】
查看>>
Java通用字符处理类
查看>>
文件上传时生成“日期+随机数”式文件名前缀的Java代码
查看>>
Java代码检查工具Checkstyle常见输出结果
查看>>
北京十大情人分手圣地
查看>>
Android自动关机代码
查看>>
Android中启动其他Activity并返回结果
查看>>
2009年33所高校被暂停或被限制招生
查看>>
GlassFish 部署及应用入门
查看>>
iWatch报错: Authorization request cancled
查看>>
iWatch报错: Authorizationsession time out
查看>>
如何运行从网上下载的iWatch项目详细步骤.
查看>>
X-code7 beta error: warning: Is a directory
查看>>
Error: An App ID with identifier "*****" is not avaliable. Please enter a different string.
查看>>
X-code beta 开发iWatch项目,运行没有错误,但是某些操作一点就崩,而且找不错误的原因场景一
查看>>
Xcode 报错: Extra argument in call
查看>>
iTunes Connect 上传APP报错: Communication error. please use diagnostic mode to check connectivity.
查看>>
#import <Cocoa/Cocoa.h> 报错 Lexical or Preprocessor Issue 'Cocoa/Cocoa.h' file not found
查看>>
`MQTTClient (~> 0.2.6)` required by `Podfile`
查看>>
X-Code 报错 ld: library not found for -lAFNetworking
查看>>