2016-02-11 2 views
0

У меня есть список кодов:QuerySet фильтр для части числа

21000000 Code 1 
21000001 Code 2 
22000000 Code 3 
22000001 Code 4 
22002100 Code 5 

Модель для кода является:

class Category(models.Model): 
    code_id = models.CharField(max_length=50) 

Я хотел бы, чтобы отфильтровать только коды, которые начинаются с 2100XXXX , Когда я использую startswith, он, похоже, не распознает номер. Каков правильный способ разрешить вызов запроса для фильтрации только для 2100XXXX. В настоящее время мой код:

DB.objects.filter(code__startswith='2100') 

Это должно поднять код 1 и 2, а другие нет.

Благодаря

+0

Предположительно ваша модель поля является '' CharField' или TextField'? Каков запрос, который возвращается? Можете ли вы разместить соответствующую часть своей модели? –

+0

@ TimmyO'Mahony модель добавлена. –

+0

Это точный код, который у вас есть? Ваше поле называется 'code_id', но ваш запрос использует' code'. –

ответ

1

Вы назвали ваше поле code_id и Ваш фильтр: code__startswith

Это должно работать:

DB.objects.filter(code_id__startswith='2100') 
Смежные вопросы