Django, фильтрация mysql базы данных - PullRequest
0 голосов
/ 04 марта 2020

У меня есть столбец due_date в БД, и я пытаюсь отфильтровать строки по значению этого столбца. Значения в столбце выглядят как "2020-01-20", и я пытаюсь отфильтровать их по годам и месяцам. НЕ до День В приведенной ниже функции:

def retrieve(request):

    date = "2020-01"       

    tasks = Task_Histories.objects.all().filter(due_date=date)
    serializer = InvocesSerializer(invoces, many=True)
    return Response(serializer.data)

Как я могу расположить значение столбца БД перед его сопоставлением в filter()?

Ответы [ 2 ]

2 голосов
/ 04 марта 2020

Используйте startswith, чтобы вы могли фильтровать по месяцам, годам или тысячелетиям:)

Task_Histories.objects.filter(due_date__startswith=date)
1 голос
/ 04 марта 2020

Если вы используете Django DateField в ваших моделях. Если это так, используйте __year и __month filter

tasks = Task_Histories.objects.filter(<b>due_date__year='2020',due_date__month='01'</b>)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...