限制Django中数据库记录的数量或年龄

时间:2013-06-03 17:29:16

标签: database django django-models pruning

我有一些Django模型存储自定义日志和查询数据,我只想在有限的时间内保留(即30天的搜索数据或最多10,000个数据库行的日志数据)。这些模型用于可视化视图中,因此我不能将其存储在文件中并让logrotate处理。

Django内置了什么来处理这个问题吗?

我可以创建一个使用SQLAlchemy定期修剪数据库的cron作业,或创建一个仅限访问的页面,在访问时修剪记录(通过视图代码),但是如果已经内置了Django的内容为了处理有限的数据保留,使用它可能更有意义。

1 个答案:

答案 0 :(得分:2)

为您的应用创建一个清除旧记录的custom django-admin command,然后让cron定期运行它。我想你可以使用SQLAlchemy,但我不知道为什么你不会只使用django的ORM。

您的命令与django sessions clearsessions命令非常相似。它的source code可能很有用。

相关问题