запрос contains, не equal?
class NetworkPolicy(Base):
__tablename__ = "Policies"
netmasks = Column(
postgresql.ARRAY(postgresql.CIDR),
nullable=False, unique=True)
.filter(NetworkPolicy.netmasks.any(ip)), проверяет вхождение на equal
ip == any_(NetworkPolicy.netmasks)
Это equal же, надо чтоб "127.0.0.1" in "0.0.0.0/0", как в либе ipaddress
в postgres есть оператор >> для CIDR, в CIDR лежит маска подсети
вот только у тебя массив CIDR, а не единичный CIDR
Да, вот я и спрашиваю, как сделать запрос с contains поэлементно, а не equal, как по дефолту
Тебе нужно в SQL сгенерировать ```ip >> ANY(array)`` ` если я правильно понимаю
Обсуждают сегодня