Форум сайта python.su
Пишу на flask-е, есть вот такая модель:
from flask.ext.sqlalchemy import SQLAlchemy from sqlalchemy.dialects.postgresql import ARRAY, INET, Integer, Unicode, Column db = SQLAlchemy() class User(db.Model): __tablename__ = 'users' id = Column(Integer, primary_key=True) login = Column(Unicode(15)) password = Column(Unicode(34)) name = Column(Unicode(100)) permitted_ips = Column(ARRAY(INET))
user = User.query.get(84) print user.permitted_ips #['{', '1', '7', '2', '.', '2', '0', '.', '2', '5', '.', '2', ',', '1', '7', '2', '.', '2', '0', '.', '2', '5', '.', '3', '}']
Офлайн
plusplus
скорее всего нужно что то подобное дока
Офлайн
sander, сделал как-то так:
class INET_ARRAY(ARRAY): def bind_processor(self, dialect): def process(value): if value is None: return value else: return "{%s}" % ','.join(value) return process def result_processor(self, dialect, coltype): item_proc = self.item_type.\ dialect_impl(dialect).\ result_processor(dialect, coltype) def process(value): if value is None: return value else: value = value.replace('{', '').replace('}', '').split(',') return self._proc_array( value, item_proc, self.dimensions, tuple if self.as_tuple else list) return process
user = User.query.get(84) user.permitted_ips = ['172.20.25.2'] db.session.commit() #sqlalchemy.exc.ProgrammingError: (ProgrammingError) column "permitted_ips" is of type inet[] but expression is of type text[] #LINE 1: UPDATE passwd SET permitted_ips=ARRAY['172.20.25.2'] WHERE p...
Отредактировано plusplus (Май 16, 2016 07:46:51)
Офлайн