@dumahism

Как выбрать объект в котором поле является началом строки?

есть path = name1/qqqq/qq
в таблице есть:
name=name1/q
name=name2
нужно извлечь объект с name=name1/q, т.к "name1/q", является началом path.
Средствами ORM.
  • Вопрос задан
  • 79 просмотров
Решения вопроса 1
@dumahism Автор вопроса
так получилось
Model.objects.annotate(screen_name=V(path, output_field=CharField())).filter(screen_name__startswith=F('name'))
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
joeberetta
@joeberetta
Читай: https://epdf.pub/google-for-dummies.html
Так просто разбейте path на подстроки. Можете сплит по символу "/" сделать и уже просто в sql параметром кидать нужную часть подстроки
Ответ написан
BojackHorseman
@BojackHorseman
...в творческом отпуске...
да очень просто

create table Test(name varchar(100));
insert into Test(name) values("name1"), ("name2");

select * from Test where 'name1/qqqq/qq' LIKE CONCAT(`name` , '%');
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы