[Sqlalchemy-tickets] Issue #3833: Enum validation causes problems with column_property (zzzeek/sqla
Brought to you by:
zzzeek
From: Lukas S. <iss...@bi...> - 2016-10-20 18:47:30
|
New issue 3833: Enum validation causes problems with column_property https://bitbucket.org/zzzeek/sqlalchemy/issues/3833/enum-validation-causes-problems-with Lukas Siemon: I'm currently trying to upgrade from 1.0.12 to 1.1.2. There is a problem where the enum validation gets propagated to column property and then fails. Any advice how to work around this for now? Adding `validate_strings=False` does not help unfortunately. Error: ``` LookupError: "#1" is not among the defined enum values ``` Test Case ``` #!python import unittest from sqlalchemy import (Column, Integer) from sqlalchemy.dialects.postgresql import ENUM from sqlalchemy.ext.declarative import declarative_base from sqlalchemy.orm import (column_property) from flask import Flask from flask.ext.sqlalchemy import SQLAlchemy app = Flask(__name__) app.config['SQLALCHEMY_DATABASE_URI'] = ("sqlite://") db = SQLAlchemy(app) Base = declarative_base() class Venue(db.Model): __tablename__ = 'venue' id = Column(Integer, primary_key=True, nullable=False) default = Column( ENUM('1', name='default_enum'), index=True, nullable=True ) dashed_default = column_property("#" + default) db.drop_all() db.create_all() class TestSelfJoin(unittest.TestCase): def test_self_join(self): db.session.add(Venue(default="1")) db.session.commit() venue = Venue.query.one() print venue.default ``` |