У меня есть модель SqlAchemy, которая связана с наследованием одной таблицы, например:
@Schema(nested=['sensor', 'mad_version', 'serial_interface'], fields=('sensor',))
class Mad(sql.Model):
#columns...
serial_interface = relationship(SerialInterface, uselist=False, cascade="all, delete-orphan")
@Schema(nested=['serial_protocol'])
class SerialInterface(sql.Model, InheritanceModel):
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 Ethernet(SerialInterface):
#Others Columns
Я сомневаюсь, как я могу запросить модель Mad и вернуть атрибут Child? Потому что теперь он возвращает SerialInterface только если его собственные атрибуты (без дочерних атрибутов). Я видел в документации, что я могу использовать with_polymorphic
в полиморфизме, но этот полиморфизм находится внутри отношений, есть ли способ перезаписать запрос отношений?