我想合并两个关键字上的两个查询集。你知道吗
class ModelA(models.Model)
text = models.CharField(max_length=10)
class ModelB(models.Model)
value = models.CharField(max_length=10)
model_a = models.ForeignKey(ModelA)
additionalkey = models.CharField(max_length=10)
假设我已经在所有ModelA对象上有一个queryset,并且我需要来自第二个模型(ModelB)的相应条目,该模型与ModelA具有ForeignKey关系,这取决于一个附加的键。实现这一目标的最快和最有效的方法是什么?你知道吗
如果对所有条目进行循环,那么ModelA QuerySet中的每个条目都会命中数据库。你知道吗
我的想法是一次获取所有ModelB对象,并将其与ForeignKey和additionalkey匹配的完整ModelA集连接/合并。你知道吗
有什么想法或暗示吗?你知道吗
编辑:
好吧,更准确地说。我已经有了ModelA的查询集。毕竟,我想要一个查询集,其中包含一个查询集中两个表的信息(或者我可以在模板中迭代的其他内容)。你知道吗
我不确定我是否理解这个问题,但也许:
你知道吗ModelA.objects.all所有().filter(modelbuuu additionalkey='foo')
您可以使用modelA queryset中的主键列表来筛选modelB:
或者,您可以通过使用某种值筛选ModelB来获取第一个查询集:
相关问题 更多 >
编程相关推荐