如下所示:
def user_degree(self): degree = self.user.update_grade() return degree def save(self, *args, **kwargs): self.degree = self.user_degree() self.p1_user = self.get_p1() self.p2_user = self.get_second() self.p3_user = self.get_third() self.first_get_money = self.get_first_commission() self.second_get_money = self.get_seconds() self.third_get_money = self.get_thirds() self.off_price = self.offPrice() self.need_pay = self.needPay() self.sale_push_money = self.per_sale_money() super(self.__class__, self).save(*args, **kwargs)
在django 的模型类里,如果有些字段的值是需要动态生成的,那么就在模型类里同样添加上对应的字段,并写上对应的方法,
然后调用save()方法,把自定义的方法的结果返回给那个字段,然后保存起来。
如果有多个相关联的字段都需要动态生成,那么在save()方法里的顺序就非常重要了,
譬如上面的off_price,need_pay, sale_push_money这三个字段动态生成的值是有先后关系的,顺序错了,有些生成的结果就不对了。所以一定要注意。
(下面情况如果遇到时再参考即可,表达有点乱,没有遇到这种情况的可能会感觉莫名其妙,重点是红色字体部分)
同时,这样动态填充避免了在字段中设置外键的弊端(当外键对应的字段值发生变化时,此模型类里已经记录的数据也可能会受到影响,)
尤其是需要记录消费信息时,会员的身份变化时,对应的折扣不一样,当会员身份升级时,如果消费记录只是在list页面用方法展示结果,没有使用save()将其填充到
对应的字段,就会使消费记录因为关联性而发生不希望的变动。
补充知识:Django models.save()的问题
Django views.py 引用models.py进行modles.objects.create()然后进行.save的问题。
我们是不能直接进行保存的,提交到数据库里面的。
EX:
我们这里通过post获取到信息后。
views.py def post(self, request, ab=None, all_seat=None): # 获取用户信息 date = request.POST.get('date') time = request.POST.get('time')
然后
views.py seatform = SeatForm(request.POST) # 提交给数据库 #这里的is_valid()是Django默认的,检查是否正确 if seatform.is_valid(): # 这里向数据库新增一条信息,然后保存 getSeat = Seat.objects.create(dateTime=date, classtime=time, status='0', user=name, number=label) getSeat.save()
上面的SeatForm()是我们在与views.py同级目录下创建的forms.py
forms.py class SeatForm(forms.Form): #注意这里的date和time需要与前端的命名要一直 date = forms.CharField() time = forms.CharField()
通过这样的方法,我们就可以保存到数据库了。
以上这篇浅谈django 模型类使用save()方法的好处与注意事项就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
标签:
django,模型类,save
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件!
如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
暂无“浅谈django 模型类使用save()方法的好处与注意事项”评论...
更新动态
2024年11月25日
2024年11月25日
- 凤飞飞《我们的主题曲》飞跃制作[正版原抓WAV+CUE]
- 刘嘉亮《亮情歌2》[WAV+CUE][1G]
- 红馆40·谭咏麟《歌者恋歌浓情30年演唱会》3CD[低速原抓WAV+CUE][1.8G]
- 刘纬武《睡眠宝宝竖琴童谣 吉卜力工作室 白噪音安抚》[320K/MP3][193.25MB]
- 【轻音乐】曼托凡尼乐团《精选辑》2CD.1998[FLAC+CUE整轨]
- 邝美云《心中有爱》1989年香港DMIJP版1MTO东芝首版[WAV+CUE]
- 群星《情叹-发烧女声DSD》天籁女声发烧碟[WAV+CUE]
- 刘纬武《睡眠宝宝竖琴童谣 吉卜力工作室 白噪音安抚》[FLAC/分轨][748.03MB]
- 理想混蛋《Origin Sessions》[320K/MP3][37.47MB]
- 公馆青少年《我其实一点都不酷》[320K/MP3][78.78MB]
- 群星《情叹-发烧男声DSD》最值得珍藏的完美男声[WAV+CUE]
- 群星《国韵飘香·贵妃醉酒HQCD黑胶王》2CD[WAV]
- 卫兰《DAUGHTER》【低速原抓WAV+CUE】
- 公馆青少年《我其实一点都不酷》[FLAC/分轨][398.22MB]
- ZWEI《迟暮的花 (Explicit)》[320K/MP3][57.16MB]