在Django中,如何索引代理模型上的字段';什么是原版?
我有一个基于在Django中,如何索引代理模型上的字段';什么是原版?,django,Django,我有一个基于Commentmodel的代理模型: 来自django_comments.models导入注释 类注释(注释): # ... 类元: proxy=True Comment模型有一个名为Comment的TextField() 但是,我无法在Annotation的Meta类中的此字段上添加索引,因为我遇到以下错误: annotations.Annotation:(models.E016)“indexes”指的是字段“comment”,它不是模型“Annotation”的本地字段。 提示
Comment
model的代理模型:
来自django_comments.models导入注释
类注释(注释):
# ...
类元:
proxy=True
Comment
模型有一个名为Comment
的TextField()
但是,我无法在Annotation
的Meta
类中的此字段上添加索引,因为我遇到以下错误:
annotations.Annotation:(models.E016)“indexes”指的是字段“comment”,它不是模型“Annotation”的本地字段。
提示:此问题可能是由多表继承引起的
我无法向字段定义本身添加索引,因为它位于django_comments
”Comment
模型中
我想我可以编写一个迁移来手动添加一个索引到使用SQL的django_comments.models.Comment的Comment
字段,但是我想知道是否有一些我缺少的不那么混乱的方法?代理模型只用于更改模型的Python行为,不能更改数据库级别的行为(添加字段、更改索引等…)
我不建议在您的项目中为外部应用程序编写迁移,因为迁移依赖项/顺序可能会导致混乱
我查阅了Django注释的文档,我认为它允许您通过在自定义注释应用程序中扩展抽象模型来添加索引或更改任何您想要的内容。代理模型仅用于更改模型的Python行为,您无法更改数据库级行为(添加字段、更改索引等)
我不建议在您的项目中为外部应用程序编写迁移,因为迁移依赖项/顺序可能会导致混乱
我查阅了Django评论的文档,我认为它允许您通过在自定义评论应用程序中扩展抽象模型来添加索引或更改任何您想要的内容。谢谢……我对这样做很谨慎,因为这是一个现有的有数万条评论的应用程序。嗯。我必须考虑一下最好的做法。谢谢……我我对这样做很谨慎,因为这是一个已有的应用程序,有上万条评论。嗯,我得想想最好怎么做。