Как создать сложные параметры запроса с помощью dict в API django

Недавно я обнаружил, что в django ORM можно передавать словарь в качестве аргумента фильтра. Это изменило игру для конкретного проекта, над которым я работаю. Это позволяет мне создать конечную точку, где пользователь может эффективно построить запрос с помощью POST запроса.

Итак, я хотел бы выяснить, как использовать методы фильтрации django в указанном словаре.

Представьте себе это:

конечная точка в url.com/api/v1/data

results = ModelName.objects.filter(**request.data)

Я протестировал простые запросы, такие как...

{
    "modelparam1": "value 1"
}

который возвращает все объекты, где modelparam1="значение 1", как и ожидалось...

но если бы я хотел сделать

ModelName.objects.filter(
        modelparam1__startswith='value'
)

as

{
    "modelparam1__startswith": "value"
}

Мне возвращается пустой список...

Я что-то делаю неправильно?

покажите свой реальный код, не вижу, где он идет не так с этими примерами

Вернуться на верх