gpt4 book ai didi

django - 如何重写 django 模型中的 get 方法?

转载 作者:行者123 更新时间:2023-12-02 07:05:08 25 4
gpt4 key购买 nike

我想在将数据保存到数据库表之前对数据进行编码,并在从数据库表读取数据后对其进行解码。我想重写 django get 和 save 方法。

类似于:

class UserData(models.Model):
userid = models.IntegerFields
data = models.charField(max_length=25)

def save(self, *args, **kwargs):
encode_data(self.data)
super(UserData, self).save(*args, **kwargs)

def get(self, *args, **kwargs):
data = super(UserData, self).get(*args, **kwargs)
return decode_data(data)

django 模型有保存方法,我可以覆盖它并做我想做的事情。但是,他们似乎没有我可以覆盖的 get 方法。我怎样才能实现这个目标?我希望在调用 UserData.objects.all() 或 UserData.objects.get() 或 UserData.objects.filter() 或任何其他可用的此类方法时对数据进行解码

最佳答案

尝试阅读有关编写自定义管理器的文档。请记住,您不是在 Model 上调用 get,而是在 Model.objects 上调用 get,它是某种 Manager。这是文档: https://docs.djangoproject.com/en/dev/topics/db/managers/

关于django - 如何重写 django 模型中的 get 方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2492653/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com