Django:删除模型对象在postgresql中重新生成

时间:2013-12-16 07:04:38

标签: python django postgresql

我有一个非常奇怪的问题。

我正在尝试从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)

然而最奇怪的事情发生了。我一次又一次地运行计数查询,并且饲料数量不断增加(没有任何用户手动添加它们),直到它恢复到原始数字。我已经重复了几次这个练习。这怎么可能,以及如何永久删除这些记录?

2 个答案:

答案 0 :(得分:1)

数据库很少自动填充自己的空气和淡水,所以你很可能在某处创建Feed实例(信号,cron作业,无论如何,甚至不必是python代码)。

答案 1 :(得分:0)

尝试:

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