Как искать, присутствует ли значение в списке значений в Django
В моей модели хранится список значений. Теперь пользователь может ввести список значений, и если какое-либо из значений присутствует в таблице, то эта запись должна быть извлечена.
Например, пользователь вводит [3, 63, 2, 5]. Теперь предположим, что список, который присутствует в таблице, имеет значения [65, 5, 8, 48]. Поскольку входной список [3, 63, 2, 5] имеет общее значение 5, в этом случае я должен получить эту запись.
Это столбец, который присутствует в моей модели. Имя модели - Room.
room_number = models.CharField(validators=[validate_comma_separated_integer_list], max_length=4000)
Я не понимаю, как я могу это сделать. Может кто-нибудь помочь мне с этим?
Я могу получить отдельное значение и запустить цикл for для каждого значения, присутствующего в списке ввода. но я не понимаю, как я могу искать, присутствует ли данное значение в списке.
измените поле room_number в модели на
room_number = models.TextField()
попробуйте реализовать логику validate_comma_separated_integer_list перед сохранением списка в модель и во время сохранения просто делайте
room_numbers = json.dumps(room_numbers)
и сохраняем эту json-строку в базе данных, а при выборке загружаем ее в обычный список, используя
input_list = [3, 63, 2, 5]
room_numbers = json.loads(room.room_numbers)
common_rooms = list(set(input_list).intersection(set(room_numbers))) # common rooms