Похожие чаты

Привет, есть такое поле, как мне по значениям вектора, сделать

запрос contains, не equal?

class NetworkPolicy(Base):
__tablename__ = "Policies"
netmasks = Column(
postgresql.ARRAY(postgresql.CIDR),
nullable=False, unique=True)

.filter(NetworkPolicy.netmasks.any(ip)), проверяет вхождение на equal

7 ответов

15 просмотров

ip == any_(NetworkPolicy.netmasks)

Yegor-𓃰 Автор вопроса
Alex
ip == any_(NetworkPolicy.netmasks)

Это equal же, надо чтоб "127.0.0.1" in "0.0.0.0/0", как в либе ipaddress

Yegor-𓃰 Автор вопроса
Alex
чоблин?

в postgres есть оператор >> для CIDR, в CIDR лежит маска подсети

Yegor 𓃰
в postgres есть оператор >> для CIDR, в CIDR лежит...

вот только у тебя массив CIDR, а не единичный CIDR

Yegor-𓃰 Автор вопроса
Alex
вот только у тебя массив CIDR, а не единичный CIDR

Да, вот я и спрашиваю, как сделать запрос с contains поэлементно, а не equal, как по дефолту

Yegor 𓃰
Да, вот я и спрашиваю, как сделать запрос с contai...

Тебе нужно в SQL сгенерировать ```ip >> ANY(array)`` ` если я правильно понимаю

Похожие вопросы

Обсуждают сегодня

Карта сайта