sql >> Databasteknik >  >> RDS >> PostgreSQL

Python getter och setter via @property inom SqlAlchemy modellklassdefinition:HOWTO

Du kan använda hybrid_property .I så fall bör den förenklade versionen av din kod se ut så här:

from sqlalchemy.ext.hybrid import hybrid_property

class Transcriber(Base):
    __tablename__ = 'transcribers'
    __table_args__ = (
    UniqueConstraint('projectid', 'email'),
    )

    transcriberid = Column(Integer, primary_key=True, server_default=text("nextval('transcribers_transcriberid_seq'::regclass)"))
    projectid = Column(ForeignKey(u'projects.projectid', ondelete=u'CASCADE'), index=True)
    created = Column(DateTime, nullable=False, server_default=text("now()"))
    onwebsite = Column(Boolean, nullable=False, server_default=text("true"))

    _email = Column('email', Text, nullable=False)

    @hybrid_property
    def email(self):
        return self._email

    @email.setter
    def email(self, email):
        self._email = email



  1. Hur fungerar MySQL Auto Increment?

  2. Fel i MySQL-biblioteket för Node.js

  3. Spark JoinWithCassandraTable på TimeStamp-partitionsnyckeln STOCK

  4. SQL Server PÅ DELETE Trigger