Предположим, что модель
class Foo(models.Model):
bar = models.CommaSeparatedIntegerField('Filter Me!')
Содержимое панели
может выглядеть, например, 12,35,67,142
.
Я хочу запросить все Foo
, которые имеют 42
в bar
:
all_42_foos = Foo.objects.filter(bar__contains="42")
, что не дает правильного результата, поскольку CommaSeparatedIntegerField
наследуется от CharField
, а оценка фильтра использует строковое содержимое поля (также соответствует приведенному выше примеру с 142
).
Как можно У меня есть фильтр, который выполняет .split (",")
в поле bar
, прежде чем проверять 42
? Я действительно не хочу, чтобы бар
превратился в ManyToMany
, поскольку это будет ужасно накладными расходами.