Python Django:已删除的模型对象会在灰色后期重新生成自己

Python Django:已删除的模型对象会在灰色后期重新生成自己,python,django,postgresql,Python,Django,Postgresql,我有一个很奇怪的问题 我正试图从django模型中删除一些提要(模型名:提要)。所以我跑: 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() 果

我有一个很奇怪的问题

我正试图从django模型中删除一些提要(模型名:提要)。所以我跑:

    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)
但最奇怪的事情发生了。我一次又一次地运行count查询,feed的数量一直在增长(没有任何用户手动添加它们),直到它恢复到原来的数量。我已经重复了几次这个练习。这是怎么可能的?我如何永久删除这些记录?

试试:

feeds = Feed.objects.annotate(num_subs=Count('subscriptions')).filter(num_subs=0).all().delete()

数据库很少在空气稀薄和淡水中自动填充自己,因此您很可能在某个地方有一些代码可以创建提要实例(signal、cron job等等,甚至不必是python代码)。

在提要上有任何pre_delete/post_delete signals或自定义的delete方法吗?这些可能会阻止删除。另外,Django的哪个版本,以及您使用的事务是否在错误后回滚?发生的情况是:由cron触发的芹菜任务花费的时间太长,因此它在rabbitmq中有一个积压。这些任务包含提要的ORM表示,因此即使我从数据库中删除了提要,当一个任务(谁知道在排队前多久启动)将完成执行时,它也会再次保存提要。在完全清除rabbitmq之后,我可以删除提要。