Вернуть дочернюю модель в таблицу с одним наследованием - PullRequest
0 голосов
/ 24 января 2020

У меня есть одиночная таблица наследования в SqlAlchemy, и я хочу фильтровать по идентификатору в интерфейсе родительской таблицы, есть способ вернуть все дочерние атрибуты, используя родительскую модель, это мой пример:

class SerialInterface(sql.Model):
    type = sql.Column(sql.String(50))
    polymorphic_identity = {
        'polymorphic_identity': 'serial_interface',
        'polymorphic_on': type,
    }

    id = sql.Column(types.Integer, primary_key=True)
    transmission_rate = sql.Column(types.Integer)

    mad_id = sql.Column(types.Integer, sql.ForeignKey('mad.id'))

    serial_protocol = sql.relationship(SerialProtocol, uselist=False, cascade="all, delete-orphan")

class RS485(SerialInterface):
    parity = sql.Column(EnumSmart(Parity))
    data_bits = sql.Column(types.Integer)
    stop_bits = sql.Column(types.Integer)

    polymorphic_identity = SerialTypes.RS485.name

class RS232(SerialInterface):
    #other columns...

И я хочу запросить фильтр SerialInterface по идентификатору и его тип RS485, но когда я делаю это, возвращаются только атрибуты SerialInterface, есть ли способ вернуть атрибуты RS485 через SerialProtocol Parent?

...