Я новичок в SQL и SQLAlchemy. Я пытаюсь представить модель анализа методом конечных элементов с использованием реляционной базы данных. У меня есть два определения класса, как показано ниже.
class Node(Base):
__tablename__ = 'nodes'
id = Column(Integer, primary_key=True)
..... # Some other properties
class Element(Base):
__tablename__ = 'elements'
id = Column(Integer, primary_key=True)
.... # Some other property
Теперь я хочу определить третий класс, который является определением «Компонент», который представляет собой набор либо узлов или элементов. Это будет выглядеть примерно так:
class Component(Base):
id = Column(Integer, primary_key=True)
name = Column(String)
type = Column(String) # Either 'Node' or 'Element'
items = [list of IDs of nodes or elements] <<<< need help here
Элементами будут либо идентификаторы узлов, либо идентификаторы элементов в зависимости от типа свойства. Для любого Компонента тип будет фиксированным. Здесь мне нужна помощь с тремя вещами. Как мне создать связь с Node
или Element
в зависимости от типа Component
. Как мне представить здесь список предметов?
Третий вопрос зависит от второго. Список, который у меня есть, представляет собой смесь положительных и отрицательных чисел. + ve number - это непосредственно идентификаторы соответствующего узла / элемента. -ve числа представляют диапазон идентификаторов, начиная с последнего идентификатора + ve. Итак, я хочу знать, как использовать hybrid_property
в качестве отношения.
Любая помощь действительно приветствуется.