小编Ray*_*der的帖子

如何格式化SQLAlchemy ORM Postgresql CIDR包含(>>)查询

我有一个模型定义为:

from app import db
from sqlalchemy.dialects import postgresql

class TableIpAddress(db.Model):
  __tablename__ = 'ipaddress'
  idipaddress = db.Column( postgresql.UUID, primary_key=True )
  ipaddress = db.Column( postgresql.CIDR, index=True, nullable=False )
Run Code Online (Sandbox Code Playgroud)

我想做以下事情:

ip = '192.168.0.0/16'
db.session.query( TableIpAddress.ipaddress.op('<<')(ip) ).all()
Run Code Online (Sandbox Code Playgroud)

这导致错误消息的关键部分显示为:

sqlalchemy.exc.DBAPIError: 
    (ParameterError) could not pack parameter $1::pg_catalog.inet for transfer
Run Code Online (Sandbox Code Playgroud)

该字段实际上是CIDR字段。似乎不知道如何打包CIDR。有没有办法将参数强制为适当的类型?

python postgresql orm sqlalchemy

5
推荐指数
1
解决办法
724
查看次数

标签 统计

orm ×1

postgresql ×1

python ×1

sqlalchemy ×1