我有以下代码:
class ArchaeologicalRecord(Base, ObservableMixin, ConcurrentMixin):
author_id = Column(Integer, ForeignKey('authors.id'))
author = relationship('Author', backref=backref('record'))
horizont_id = Column(Integer, ForeignKey('horizonts.id'))
horizont = relationship('Horizont', backref=backref('record'))
.....
somefield_id = Column(Integer, ForeignKey('somefields.id'))
somefield = relationship('SomeModel', backref=backref('record'))
目前我有一个条目(作者或 Horizont 或与 arch.record 相关的任何其他条目)。而且我想确保没有任何记录引用该字段。但是我讨厌为每种情况编写大量代码,并且希望以最常见的方式进行。
所以,实际上我有:
- 考古记录实例
- 子实体的实例,例如 Horizont
- (来自以前的)它是类定义。
如何在不编写大量复制粘贴代码的情况下检查是否ArchaeologicalRecord
包含(或不包含)对Horizont
(或任何其他子实体)的引用?