第一种情况,
app_1 - post_model_1
app_2 - post_model_2 (has Foreign Key Field to post_model_1)
app_3 - post_model_3 (has Foreign Key Field to post_model_1)
第二种情况,
app_1 - post_model_1,
post_model_2 (has Foreign Key Field to post_model_1),
post_model_3 (has Foreign Key Field to post_model_1),
如果我使用ForeignKeyField进行查询集,例如获取所有相关帖子(无论是post_model_2还是post_model_3)post_model_1,
第一种情况和第二种情况之间是否存在性能差异?
如果是,哪个更快?
两者之间没有区别。它们是一样的。在第一种情况下创建的表(模型)与在第二种情况下创建的表(模型)相同。
请注意,Django 应用程序不能确定数据库模型(表),但Model
可以。因此,在这两种情况下,您都有模型的确切结构(三个表ForeignKey
相对论)。因此,它既不是"更快"也不是"更好"。
在第一种情况下,您将执行以下操作:
from app_1 import post_model_1
from app_2 import post_model_2
from app_3 import post_model_3
而在第二个中,您将执行以下操作:
from app_1 import post_model_1, post_model_2, post_model_3
查询集仍将保持不变。