vardır:sqlalchemy: 'InstrumentedList' nesne aşağıdaki 3 sınıfları var hiçbir özellik 'filtre'
get_resource arayan üzerindeclass Resource:
id = Column(Integer, primary_key=True)
path = Column(Text)
data = Column(Binary)
type = Column(Text)
def set_resource(self, path, data, type):
self.path = path
self.data = data
self.type = type
class EnvironmentResource(Base, Resource):
__tablename__ = 'environment_resources'
parent_id = Column(Integer, ForeignKey('environments.id', ondelete='CASCADE'))
def __init__(self, path, data, type):
self.set_resource(path, data, type)
class Environment(Base):
__tablename__ = 'environments'
id = Column(Integer, primary_key=True)
identifier = Column(Text, unique=True)
name = Column(Text)
description = Column(Text)
_resources = relationship("EnvironmentResource",
cascade="all, delete-orphan",
passive_deletes=True)
_tools = relationship("Tool",
cascade="all, delete-orphan",
passive_deletes=True)
def __init__(self, name, identifier, description):
self.name = name
self.identifier = identifier
self.description = description
def get_resource(self, path):
return self._resources.filter(EnvironmentResource.path==path).first()
, ben 'InstrumentedList' nesne hiçbir özellik 'filtre' sahip olduğunu söyledi am - Ben ve belgelerin içinden geçti ve bunu çözemedim. Neyi özlüyorum, böylece 'get_resource' yöntemimin içindeki bir ortama karşılık gelen kaynakları filtreleyebilir miyim?
Not: get_resource'ın bir istisna atacağını biliyorum, bunu yapmak isterim.
birisi bir veritabanı n00bie ne tembel = 'dinamik' demektir açıklamak ve yapar misin? – appleLover
Benzer şekilde, bir "backref" ile aynı sorunu yaşıyorsanız, 'backref =' items' '' '' '' '' '' '' '' '' '' '= '', '', '' teması '' gibi bir şeyle '' ilişki '' 'değiştirmeniz gerekir. '. Lazy = 'dynamic' olmaksızın –
, doğrudan env.environment_resource sonucunu alırsınız. Ama tembel = 'dinamik' ile, bir döndürür - str (env.environment_resource) yapabilir ve size filtre vb üzerine yapıştırabileceğiniz SQL sorgusunu verir. –