gpt4 book ai didi

Django:将索引添加到元字段

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

我有以下模型:

from model_utils.models import TimeStampedModel
class MyModel(TimeStampedModel):
....
name = models.CharField(max_length=100)
....

此模型基于 Django Utils ( https://django-model-utils.readthedocs.org/en/latest/models.html#timestampedmodel ),它将 createdmodified 字段添加到我的模型。

我需要知道的是将 db_index 添加到我的模型的修改字段的方法。但我无法修改 TimeStampedModel 文件,因为它是外部依赖项的一部分。

您知道此类问题的简单解决方案吗?

谢谢。

最佳答案

是的,您可以使用模型 Meta。

如果您不需要从 TimeStampedModel 继承元数据,只需使用它:

class Meta:
...

否则你需要明确地告诉django首先像这样查看父级的元数据:

class Meta(TimeStampedModel.Meta):

这可能是一个 hackish 解决方案,但也许您可以尝试使用 index_together 让 django 为您的模型创建索引:

像这样:

class Meta(TimeStampedModel.Meta):
index_together = [
["modified",],
]

尝试一下,告诉我它是否有效

编辑:

另一个解决方案来自:How to override the default value of a Model Field from an Abstract Base Class :

尝试将其添加到您的 MyModel 类中

MyModel._meta.get_field('modified').db_index = True

关于Django:将索引添加到元字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33174680/

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