Modelimi tanımlamak için SQLAlchemy bildirimsel tabanı kullanıyorum. ,SQLAlchemy: tablo alanına göre özel özelliği sorgula
Session.query(Entry).filter(Entry.name == my_name).first()
>>> ArgumentError: filter() argument must be of type sqlalchemy.sql.ClauseElement or string
bir süre araştırdıktan sonra:
name
kullanarak bir sorgu gerçekleştirmek için çalışıyor
class Entry(Base):
__tablename__ = "blog_entry"
id = Column(Integer, primary_key=True)
title = Column(Unicode(255))
...
@property
def name(self):
return re.sub(r'[^a-zA-Z0-9 ]','',self.title).replace(' ','-').lower()
, SQLAlchemy bir hata atar: Ben sütunlar (title
) birinden hesaplanır bir özellik name
tanımlanmış Belki de comparable_using()
'un yardımcı olabileceğini buldum, ancak tablonun başka bir sütununa başvuran bir karşılaştırıcı gösteren bir örnek bulamadım.
Bu mümkün mü yoksa daha iyi bir yaklaşım var mı?
sayesinde, artık başka bir yaklaşım deneyin gerektiğini görüyoruz. – amercader