2015-04-21 4 views
0

Im новый с SQLAlchemy в Python 2.7, у меня есть следующие таблицы с одного до одного отношения (это право uselist = False):SQLAlchemy в Python

class Person(Base): 
    __tablename__ = 'person' 
    id = Column(Integer, primary_key=True) 
    name = Column(String) 
    address = Column(String) 

class Pet(Base): 
    __tablename__ = 'pet' 
    id = Column(Integer, primary_key=True) 
    name = Column(String) 
    owner = relationship("Person", backref=backref("pet", uselist=False)) 

Мой первый вопрос здесь, если удалить одну запись из таблицы Pet удаляет ассоциированную запись в таблице Person?

И мой второй вопрос: как я могу получить адрес в какой-либо записи в домашней таблице, например pet.id, pet.name и person.address (из-за того, что обе таблицы имеют отношение один к одному).

ответ

0
  1. нет, в зависимости от сервера базы данных она может быть определена там или SQL алхимия может помочь путем определения ForeignKeyConstraint: http://docs.sqlalchemy.org/en/latest/core/constraints.html

  2. Если Pet экземпляр назван pet_object: pet_object.owner.id, pet_object.owner.name ...

Смежные вопросы