您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

如何将Django QuerySet转换为列表

如何将Django QuerySet转换为列表

你可以这样做:

import itertools

ids = set(existing_answer.answer.id for existing_answer in existing_question_answers)
answers = itertools.ifilter(lambda x: x.id not in ids, answers)

在评估QuerySet时阅读,请注意,将整个结果加载到内存中(例如通过list())是不好的。

参考: itertools.ifilter

关于评论的更新:

有多种方法可以做到这一点。一种(在内存和时间方面可能不是最好的一种)是做完全相同的:

answer_ids = set(answer.id for answer in answers)
existing_question_answers = filter(lambda x: x.answer.id not in answers_id, existing_question_answers)

什么不叫list()Queryset

answers_list = list(answers)

这还将评估QuerySet/ run查询。然后,你可以从该列表中删除/添加

Go 2022/1/1 18:24:25 有336人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶