我有一个模型类,它有一个逗号分隔的整数字段,映射到Postgres整数数组字段。
class Observation(models.Model):
frequencies = models.CommaSeparatedIntegerField(max_length=200)
我希望能够使用过滤器(或其他合适的东西)接口对数组中的索引值进行比较。 例如:
Observation.objects.filter(frequencies[100]__equals = 10)
我知道我不能这样做,我在文档中看不到如何索引过滤器接口中的数组字段。我希望这个动作由数据库中的SQL执行(可能必须在代码中执行吗?)。
我知道我可以使用extra()功能,但我想知道是否有更好的方法?
感谢。
答案 0 :(得分:2)
如果您发现自己需要在逗号分隔字段中搜索特定实体,则应该考虑这是否是数据的正确格式。也许单独表的外键可能更合适。