我有一个非常奇怪的问题。
我正在尝试从django模型中删除一些Feed(型号名称:Feed)。所以我跑:
from rss.models import Feed
from django.db.models import Count
feeds = Feed.objects.annotate(num_subs=Count('subscriptions')).filter(num_subs=0)
for feed in feeds:
feed.delete()
果然,这会从我的数据库中删除记录。在postgres中,我做了一个查询:
rs3=# select count(*) from rss_feed;
count
-------
1528
(1 row)
然而最奇怪的事情发生了。我一次又一次地运行计数查询,并且饲料数量不断增加(没有任何用户手动添加它们),直到它恢复到原始数字。我已经重复了几次这个练习。这怎么可能,以及如何永久删除这些记录?
答案 0 :(得分:1)
数据库很少自动填充自己的空气和淡水,所以你很可能在某处创建Feed实例(信号,cron作业,无论如何,甚至不必是python代码)。
答案 1 :(得分:0)
尝试:
feeds = Feed.objects.annotate(num_subs=Count('subscriptions')).filter(num_subs=0).all().delete()