У меня есть таблица с несколькими зависимыми таблицами, которые я хочу удалить каскадом. У меня проблемы с каскадом слишком далеко. Некоторый код поможет объяснить. class Map(Base): …. #One to many relationship between the Map and Tile. #Each Map is made up of many tiles tiles = relationship('Tile', lazy='joined', backref='map', cascade="all, delete") class Tile(Base): …. #Reference […]
Предполагая две модели во многих отношениях: parent_child = Table('parent_child', metadata, Column('parent_id', Integer, ForeignKey('parent.id')), Column('child_id', Integer, ForeignKey('children.id'))) class Parents(Base): __tablename__ = 'parents' __table_args__ = {'autoload' : True} # reflecting database children = relationship('Child', secondary=parent_child, # What goes here for sorting? backref='parents') class Child(Base): __tablename__ = 'children' __table_args__ = {'autoload' : True} # reflecting database Я знаю, […]
У меня есть эта таблица: class Channel(rdb.Model): rdb.metadata(metadata) rdb.tablename("channels") id = Column("id", Integer, primary_key=True) title = Column("title", String(100)) hash = Column("hash", String(50)) runtime = Column("runtime", Float) items = relationship(MediaItem, secondary="channel_items", order_by=MediaItem.position, backref="channels") У меня есть список каналов, но они являются отдельными объектами. Я получаю их с помощью параметра joinload, потому что иногда я манипулирую этими […]
В моем случае запросы к базовой базе данных довольно дороги, поэтому мы стараемся сохранять запросы базы данных там, где это возможно. Вот упрощенная база данных, которую я буду использовать для примера: items_table = Table("invtypes", gdata_meta, Column("typeID", Integer, primary_key = True), Column("typeName", String, index=True), Column("groupID", Integer, ForeignKey("invgroups.groupID"), index=True)) mapper(Item, items_table, properties = {"group" : relation(Group, backref […]
У меня особенная проблема ORM SQLAlchemy. Это происходит в приложении Pylons по сравнению с базой Postgresql 8.2, используя psycopg2 в качестве моего драйвера базы данных под SQLAlchemy 0.6.0 (а также с 0,6.4) Я определил объект модели пользователя, который имеет (как минимум) следующие свойства: class User(Base): __tablename__ = 'users' __table_args__ = (saschema.UniqueConstraint("login", "company_id"), {}) __mapper_args__ = […]
У меня проблема, когда я импортирую классы из одного в другой. У меня есть эти классы в разных модулях: crm.py from CRMContactInformation import CRMContactInformation class CRM(rdb.Model): """Set up crm table in the database""" rdb.metadata(metadata) rdb.tablename("crms") id = Column("id", Integer, ForeignKey("screens.id"), primary_key=True) screen_id = Column("screen_id", Integer, ) contactInformation = relationship(CRMContactInformation, userlist=False, backref="crms") …. CRMContactInformation.py from CRM […]
Я определяю модель SQLAlchemy следующим образом: class SubProject(Base): active = Column(Boolean) class Project(Base): active = Column(Boolean) subprojects = relationship(SubProject, backref=backref('project')) class Customer(Base): active = Column(Boolean) projects = relationship(Project, backref=backref('customer')) Мне нужно получить список клиентов в одном из этих двух состояний: Все клиенты, со всеми проектами и всеми субпроектами Только активные клиенты, имеющие только активные проекты, […]
У меня есть код, который записывает данные в базу данных, глядя на несколько сотен тысяч строк, что не слишком экстремально, но это приводит к зависанию моего компьютера-разработчика. Код выглядит примерно так. input_reader = csv.reader(open(filename), delimiter=',', quotechar='"') count = 0 for line in input_reader: obj = ObjectToEnter(line[1], line[2]) child_obj = ChildObject(line[5]) #possibly a few children are […]
Я сериализую SQLAlchemy сопоставленные объекты с json.dumps . И мне бы хотелось, чтобы свойства прокси- объектов моих объектов также корректно сериализовались. По умолчанию они не корректно сериализуются, поэтому мне пришлось написать конкретный кодировщик JSON: from sqlalchemy.ext.associationproxy import _AssociationList class MyEncoder(JSONEncoder): def default(self, obj): if isinstance(obj, _AssociationList): return list(obj) return JSONEncoder.default(self, obj) Это не выглядит хорошо, […]
У меня проблема с отображением в довольно простом случае. Может ли кто-нибудь помочь? Вот DTO: class AttributeDTO(object): id = None name = None class RelationDTO(object): id = None name = None attribute = None # one attribute per relation class EntityDTO(object): id = None name = None relation = None #it works fine, but then […]