Ale*_*Grs 3 django django-models
我有以下模型:
from model_utils.models import TimeStampedModel
class MyModel(TimeStampedModel):
....
name = models.CharField(max_length=100)
....
Run Code Online (Sandbox Code Playgroud)
该模型基于 Django Utils ( https://django-model-utils.readthedocs.org/en/latest/models.html#timestampedmodel ),它向我的模型添加created和modified字段。
我需要知道的是将 a 添加db_index到我的模型的修改字段的方法。但我无法修改 TimeStampedModel 文件,因为它是外部依赖项的一部分。
您知道此类问题的任何简单解决方案吗?
谢谢你。
是的,您可以使用模型 Meta。
如果您不需要从 TimeStampedModel 继承元数据,请使用以下命令:
class Meta:
...
Run Code Online (Sandbox Code Playgroud)
否则你需要明确地告诉 django 首先像这样查看父级的元数据:
class Meta(TimeStampedModel.Meta):
Run Code Online (Sandbox Code Playgroud)
这可能是一个骇人听闻的解决方案,但也许您可以尝试使用 index_together 使 django 为您的模型创建索引:
像这样:
class Meta(TimeStampedModel.Meta):
index_together = [
["modified",],
]
Run Code Online (Sandbox Code Playgroud)
试试看,告诉我它是否有效
编辑:
另一个解决方案来自:如何从抽象基类覆盖模型字段的默认值:
尝试将此添加到您的 MyModel 类
MyModel._meta.get_field('modified').db_index = True
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1252 次 |
| 最近记录: |