class A(models.Model)
results = models.TextField()
class B(models.Model)
name = models.CharField(max_length=20)
res = models.ManyToManyField(A)
-
假设我们有两个以上的模型。
A
模型有数百万个对象。
我想知道什么是最有效/最快的方法
results objects
特别的
B
反对。
Option 1 : A.objects.filter(b__id=5)
(OR)
Option 2 : B.objects.get(id=5).res.all()
-
选项1:我的问题是按id筛选
一个
模型对象需要很多时间?因为有数百万
一个
模型对象。
-
选项2:问题:是否
res
打开字段
乙
模型存储
id
价值
一个
模型对象?
我之所以选择
2
因为它存储了
一个
建模对象&首先直接获取这些对象值,然后进行第二次查询以获取结果。而在第一个选项中,按id或任何其他字段过滤将占用大量时间