在 Django 中,使用 GenericForeignKey 时是否需要将 db_index 添加到 object_id?
In Django, do I need to add a db_index to object_id when using a GenericForeignKey?
Django 的示例代码位于 https://docs.djangoproject.com/es/1.9/ref/contrib/contenttypes/
content_type = models.ForeignKey(ContentType, on_delete=models.CASCADE)
object_id = models.PositiveIntegerField()
content_object = GenericForeignKey('content_type', 'object_id')
显示 object_id 没有 db_index=True
虽然object_id
可能会用于连接操作。
是否db_index=True
假设是因为一些关于GFK的隐藏代码?
或者我应该在需要时包含它?
是的,您应该自己将 object_id
字段设置为可索引。
从 1.9 开始,Django doesn't do 任何魔法。
Django 的示例代码位于 https://docs.djangoproject.com/es/1.9/ref/contrib/contenttypes/
content_type = models.ForeignKey(ContentType, on_delete=models.CASCADE)
object_id = models.PositiveIntegerField()
content_object = GenericForeignKey('content_type', 'object_id')
显示 object_id 没有 db_index=True
虽然object_id
可能会用于连接操作。
是否db_index=True
假设是因为一些关于GFK的隐藏代码?
或者我应该在需要时包含它?
是的,您应该自己将 object_id
字段设置为可索引。
从 1.9 开始,Django doesn't do 任何魔法。