Простой пример SQLAlchemy Generic Relationship

Я знаю, что подобные вопросы заданы, однако я действительно пытаюсь понять, как генерируются общие поля в SQLAlchemy.

У меня есть класс / таблица разрешений, который я хочу содержать поле, которое может относиться к любому типу модели.

Я просмотрел примеры и это сообщение в блоге http://techspot.zzzeek.org/2007/05/29/polymorphic-associations-with-sqlalchemy/

Можно ли иметь общее отношение без отдельной таблицы? Просто сохраняя object_type и id? Что-то в этом роде:

class Permission(AbstractBase): user = relationship("User", backref=backref('permissions')) permission_type = column(String()) object = #The object the permission applies to, could be any type. 

Думаю, просто очень простой пример будет оценен!

Кроме того, стоит отметить, что я исхожу из истории Django!

благодаря

2 Solutions collect form web for “Простой пример SQLAlchemy Generic Relationship”

Кто-то другой задал одинаковый вопрос примерно через день, я указал на три примера, которые мы имеем для такого рода вещей, но также я написал новый пример, который будет делать (в основном) то же самое, что и Django (минус эта странная таблица «contenttypes» ): общий внешний ключ sqlalchemy (например, в ORM django)

Вы также можете использовать generic_relationship из пакета generic_relationship sqlalchemy-utils .

Вот пример их документации ;

 from sqlalchemy_utils import generic_relationship class User(Base): __tablename__ = 'user' id = sa.Column(sa.Integer, primary_key=True) class Customer(Base): __tablename__ = 'customer' id = sa.Column(sa.Integer, primary_key=True) class Event(Base): __tablename__ = 'event' id = sa.Column(sa.Integer, primary_key=True) object_type = sa.Column(sa.Unicode(255)) object_id = sa.Column(sa.Integer) object = generic_relationship(object_type, object_id) 
  • SqlAlchemy: фильтр для соответствия всем, а не любым значениям в списке?
  • Использование pyodbc вызывает ошибку: имя источника данных не найдено, и драйвер по умолчанию не указан
  • Фильтровать запрос с помощью связанного ключа объекта в SQLAlchemy
  • Предложение VALUES в SQLAlchemy
  • Таблица сопоставления SQLAlchemy с столбцами non-ascii для класса
  • sqlalchemy простой пример `sum`,` average`, `min`,` max`
  • Исключить мягкие удаленные элементы в самореляционные отношения SQLAlchemy
  • Sqlalchemy.exc.UnboundExecutionError: не удалось найти привязку, настроенную на mapper Mapper | SellsTable | продавцы или этот сеанс
  • Python - лучший язык программирования в мире.