2010-01-26 90 views
0

任何关于如何在每次访问时更新模型数据的指针?Django - 访问前更新模型数据?

如果我有访问像这样一个Person对象代码: P = Person.objects.get(用户名=“darkpixel”)

我想火过我自己的过程中,以检查外部网站,可能在返回之前更新Person模型。

我很犹豫要重写get方法。有没有更好的办法?

回答

1

该代码绝对属于您的Manager。我不会覆盖get,但我会创建一个名为get_and_resync的函数来为您完成这项工作。

+0

这是我用我的原型走向的方向,它似乎运作良好 - 我只需要确保导入我的应用程序的所有项目偶尔调用get_and_resync ...我想到的另一个选项并不担心调用get_and_resync的项目,而是有一个manage.py命令,该命令可以慢慢浏览数据库并将其更新为必要的...... – 2010-01-26 03:26:48

+0

在做了更多的挖掘之后,我偶然发现了一些我不知道的经理人的有趣事情。如果您创建了get_query_set函数,则可以通过Person.objects.all或Person.objects.get定义用于查找数据的初始查询集。这使得在返回对象之前拦截和更新对象变得很容易。 – 2010-01-26 03:52:53

0

将模型上的字段设置为properties

+0

有没有办法做到这一点,而无需改变现有的代码依赖(使用您的链接示例)Person.first_name? 我想要得到的结果是从我的数据库支持模型访问数据,但偶尔会从远程Web服务检查Person的更新。 – 2010-01-26 03:23:24

+0

属性通常不需要更改现有的代码,所以我不确定你在这里问什么...... – 2010-01-26 03:25:06