Я новичок в Django и сейчас пытаюсь решить проблему фильтрации по конкретному полю. React.js используется для внешнего интерфейса, а Django используется в качестве RESTful API.
Для внешнего интерфейса пользователи могут выбирать поиск по номеру или имени. Информация была успешно собрана. Следующий код только для лучшего понимания и не является полным.
<input type="text" /><label>Search by number</label>
<input type="text" /><label>Search by name</label>
Для серверной части ответ должен фильтровать набор запросов на основе входной информации, которая является числом или именем. Однако, просматривая документ, я заметил, что для фильтрации должны быть предоставлены все поля фильтрации.
Entry.objects.filter(number=123, name="abc")
Как я могу сделать фильтр на основе заданной информации из внешнего интерфейса, например, если пользователь выбирает поиск по имени, что делает Django:
Entry.objects.filter(number=123)
если пользователь выбирает поиск по имени, то Django делает:
Entry.objects.filter(name="abc")
Я понимаю, что на самом деле могу создать две разные конечные точки API, поэтому номер и имя не будут мешать друг другу. Однако, если есть больше полей фильтра, то, безусловно, неэффективно писать каждый отдельный API на основе каждого поля.
Кто-нибудь может мне помочь с этим? Пожалуйста, дайте мне знать, если я объясню это ясно, или нужно предоставить больше информации.