模型上的自定义保存方法 - django

2024-02-01

我正在重写我的模型之一上的保存方法:

def save(self, *args, **kwargs):
    self.set_coords()
    super(Post, self).save(*args, **kwargs)

def __unicode__(self):
    return self.address

# set coordinates
def set_coords(self):
    toFind = self.address + ', ' + self.city + ', ' + \
        self.province + ', ' + self.postal

    (place, location) = g.geocode(toFind)

    self.lat = location[0]
    self.lng = location[1]

然而我只想跑set_coords()创建帖子时一次。更新模型时不应运行此函数。

我怎样才能做到这一点?有什么方法可以检测模型是否正在创建或更新?


def save(self, *args, **kwargs):
    if not self.pk:
        self.set_coords()
    super(Post, self).save(*args, **kwargs)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

模型上的自定义保存方法 - django 的相关文章

随机推荐