Уникальное ограничение на использование данных в нескольких таблицах (SQL / SQLAlchemy)

Верхний класс с именем Parametric используется для создания объектов, с которыми могут быть связаны параметры:

class Parametric(object):
 def __init__(self, name):
  self.name = name
  self.pars = []

class Foo(Parametric):
 def __init__(self, name, prop):
  self.prop = prop
  Parametric.__init__(self, name)

class Bar(Parametric):
 def __init__(self, name, prop):
  self.prop = prop
  Parametric.__init__(self, name)

Я использую SQLAlchemy для своего механизма ORM.

Я хочу наложить УНИКАЛЬНЫЙ ограничение, которое гарантирует, что комбинация ( имя , prop ) уникальна для данного класса (например, только один экземпляр Foo может называться «my_foo» и иметь значение prop , скажем «my_prop» ), но I не вижу, как ссылаться на столбец name из Parameterric в таблице Foo таблицы UNIQUECONSTRAINT .

Является ли эта уникальность чем-то уникальным? который может быть наложен с помощью директивы FOREIGN KEY ?

8
задан Escualo 20 August 2010 в 22:07
поделиться