首页 > 解决方案 > 如何在Django中一一获取模型的对象

问题描述

我需要创建一个将在 celery 中启动的函数,并依次从模型中获取记录,检查某些内容并将数据写入另一个具有单对一关系的模型。条目很多,使用 model_name.objects.all() 是不合适的(会占用大量内存和时间)如何正确执行。

标签: pythondjangopython-3.x

解决方案


您可以在查询集https://docs.djangoproject.com/en/dev/ref/models/querysets/#iterator上使用迭代器,以便您的记录由一个获取

model_iterator = your_model.objects.all().iterator()
for record in model_iterator:
    do_something(record)

推荐阅读