Как создать сложные параметры запроса с помощью 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"
}
Мне возвращается пустой список...
Я что-то делаю неправильно?
покажите свой реальный код, не вижу, где он идет не так с этими примерами