如何删除旧条目?

时间:2016-06-16 10:16:52

标签: django

我有模特:

class MyModel(models.Model):
    obj = models.ForeignKey(OtherModel)
    date = models.DateTimeField(default=now)
    [...]

我在db中有100个条目。我想删除除最近6个以外的所有条目。 如何在ORM中完成?

1 个答案:

答案 0 :(得分:3)

您可以先获取第6个最新条目的日期。然后删除超过此日期的所有内容。

max_date = MyModel.objects.order_by('-date')[5]
delete_qs = MyModel.objects.filter(date__lt=max_date)
# it might be a good idea to inspect the result at this point
# to ensure you are deleting the right stuff
delete_qs.delete()