我有一些Django模型存储自定义日志和查询数据,我只想在有限的时间内保留(即30天的搜索数据或最多10,000个数据库行的日志数据)。这些模型用于可视化视图中,因此我不能将其存储在文件中并让logrotate处理。
Django内置了什么来处理这个问题吗?
我可以创建一个使用SQLAlchemy定期修剪数据库的cron作业,或创建一个仅限访问的页面,在访问时修剪记录(通过视图代码),但是如果已经内置了Django的内容为了处理有限的数据保留,使用它可能更有意义。
答案 0 :(得分:2)
为您的应用创建一个清除旧记录的custom django-admin command,然后让cron定期运行它。我想你可以使用SQLAlchemy,但我不知道为什么你不会只使用django的ORM。
您的命令与django sessions clearsessions
命令非常相似。它的source code可能很有用。