本站首页    管理页面    写新日志    退出


«October 2025»
1234
567891011
12131415161718
19202122232425
262728293031


公告
 本博客在此声明所有文章均为转摘,只做资料收集使用。

我的分类(专题)

日志更新

最新评论

留言板

链接

Blog信息
blog名称:
日志总数:1304
评论数量:2242
留言数量:5
访问次数:7624520
建立时间:2006年5月29日




[Django]保存/删除前后的额外动作
软件技术

lhwork 发表于 2007/2/1 21:16:52

在Django中,常常会出现这样的情况: 在保存一个对象到数据库中或者从数据库把该对象删除的时候,希望可以执行另外一些附加的操作, 比如: class Place(models.Model):        name = models.CharField(maxlength=50)        address = models.CharField(maxlength=80)        def save (self):              self.name = 'hackgou'              print "Before save"              super(Place, self).save() #call the 'real' save() method              print "After save"        def delete (self):               self.name = "test"              super(Place,self).save() #这是在删除么 :P        def __str__(self):               return "%s the place" % self.name>>from djangoTest.oneToOne.models import *>>>l = Place(None,"Gavin","sichuang")>>>l>>>l.save()BeforesaveAfter save>>> l.name'hackgou'>>> l = Place.objects.get(name__startswith="QQ")>>>l>>> l.delete()>>> l.name'test'>>> 这好像在玩魔术。 其实这和以前版本中的_save()以及meta中定义_save()来重载Model 的save()一样,只是现在名字和Model中的一样,更加像真正的重载了!


阅读全文(2093) | 回复(0) | 编辑 | 精华
 



发表评论:
昵称:
密码:
主页:
标题:
验证码:  (不区分大小写,请仔细填写,输错需重写评论内容!)



站点首页 | 联系我们 | 博客注册 | 博客登陆

Sponsored By W3CHINA
W3CHINA Blog 0.8 Processed in 0.047 second(s), page refreshed 144792341 times.
《全国人大常委会关于维护互联网安全的决定》  《计算机信息网络国际联网安全保护管理办法》
苏ICP备05006046号