1
我有一個模型類,它具有映射到Postgres整數數組字段的逗號分隔整數字段。在CommaSeparatedIntegerField中對索引值進行過濾
class Observation(models.Model):
frequencies = models.CommaSeparatedIntegerField(max_length=200)
我希望能夠做的是使用的過濾器(或別的合適的)接口做在數組中的索引值進行比較。 實施例:
Observation.objects.filter(frequencies[100]__equals = 10)
我知道我不能做到這一點,我不能在文檔中看到如何在過濾器接口索引的陣列字段。我希望這個動作由數據庫中的SQL執行(可能必須在代碼中完成)?
我知道我可以使用extra()功能,但我想知道是否有更好的方法?
謝謝。
我懷疑有一種方法可以在數據庫層搜索該數組,因爲該字段類型保存爲charfield(至少在MySQL中)。使用extra()與SUBSTRING()在我看來是最好的方式:http://dev.mysql.com/doc/refman/5.0/en/string-functions.html#function_substr – AJJ