在Python SQLAlchemy

时间:2018-04-24 02:55:34

标签: python database python-3.x sqlalchemy object-relational-model

我有2个模型AnimalsSpeciesAnimals只能与1 Species相关,并且可能有多个Animals属于同一Species

例如,bobby是属于Animals bear对象的Species对象。

我们应该如何在Animals模型中定义ORM关系,以便我们可以使用bobby.species来获取bear Species对象?

这种关系也被称为一对一?

from sqlalchemy import *
from sqlalchemy.orm import relationship
from Base import Base

class Animal(Base):
    __tablename__       = 'animals'
    id                  = Column(String(16) primary_key=True)
    speciesId           = Column(Integer, ForeignKey('species.id'), primary_key=True)

class Species(Base):
    __tablename__       = 'species'
    id                  = Column(String(16), primary_key=True)

1 个答案:

答案 0 :(得分:-1)

try { // code } catch (WebException e) when (e.Status == WebExceptionStatus.ProtocolError && (HttpWebResponse)e.Response).StatusCode == HttpStatusCode.Forbidden) { Logger.Error(e.ToString()); Console.ReadKey(true); return; } Many Animal的绝对多对一关系。

您可以使用One Species来实现此目标:

http://docs.sqlalchemy.org/en/latest/orm/basic_relationships.html