gpt4 book ai didi

跨模型的Django Queryset?

转载 作者:行者123 更新时间:2023-12-04 06:52:00 27 4
gpt4 key购买 nike

我有几个模型,想要返回属于一个用户的所有模型的查询集,我想知道是否可以从多个模型返回一个查询集?

最佳答案

我假设您的意思是您想从每个模型返回属于用户的所有对象的单个查询集。

你需要一个查询集还是一个可迭代的? AFAIK,异构 qs 是不可能的。但是,您可以轻松地返回一个列表、一个链式迭代器 (itertools) 或一个生成器来执行您想要的操作。这假设引用用户的模型提前已知。假设默认的related_name,可以通过模型的名称从用户实例访问相关的查询集属性:

qs = getattr(user, '%s_set' % model_name.lower());

当然,使用任何异构列表,您要么只能使用跨所有此类模型定义的字段或方法,要么必须确定每个对象的类型才能执行任何特定于类型的操作。

关于跨模型的Django Queryset?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/357425/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com