【发布时间】:2020-05-29 17:22:54
【问题描述】:
假设我有两个模型:
class Result(models.Model):
b = foreignKey(ModelB)
class ModelB(models.Model):
code = models.CharField(...)
我需要的是只保留与每个模型相关的 N 个最新结果并删除其余的。表 ModelB 和 Result 确实可以有很多记录。 有没有办法我可以使用 django ORM 执行此操作而无需创建循环?
[编辑]- 示例:
ModelB objs: [(1, [result1, result2, result3, result4]), (2, [result10, result11, result12])]
Result objs: [(result1), (result2), (result3), (result4), (result10), (result11), (result12)]
假设我只想保留每个 Modelb 子集中的 2 个最新结果,其余的应该如下
ModelB objs: [(1, [result4, result3]), (2, result12, result11)]
Result objs: [(result3), (result4), (result11), (result12)]
【问题讨论】:
标签: python django python-3.x orm django-orm