में एक संकर संपत्ति की क्वेरी करना मैं डेटाबेस में सापेक्ष पथ के रूप में फ़ाइल पथ संग्रहीत कर रहा हूं, लेकिन फिर मैं मैप किए जाने पर एक पूर्ण पथ में बदलने के लिए हाइब्रिड गुणों का उपयोग कर रहा हूं। जब मैं इस संपत्ति का उपयोग कर पूछता हूं तो यह एक त्रुटि फेंकता है। यहाँ मॉडल है:SQLAlchemy
class File(Base):
__tablename__ = 'files'
...
_f_path = Column(Unicode(30))
...
@hybrid_property
def f_path(self):
env = shelve.open('environment')
return os.path.join(env['project_dir'], self._f_path)
@f_path.setter
def f_path(self, _f_path):
self._f_path = _f_path
जब मैं इस क्वेरी (जहां रेफरी एक यूनिकोड स्ट्रिंग) चलाएँ:
session.query(File).filter_by(f_path=ref).first()
यह मुझे इस त्रुटि देता है:
File "/Users/Ben/Dropbox/Giraffe/giraffe_server/giraffe/file_handlers/maya.py", line 135, in process_file
rf = session.query(File).filter_by(f_path=str(ref)).first()
File "build/bdist.macosx-10.7-intel/egg/sqlalchemy/orm/query.py", line 1211, in filter_by
for key, value in kwargs.iteritems()]
File "build/bdist.macosx-10.7-intel/egg/sqlalchemy/orm/util.py", line 597, in _entity_descriptor
return getattr(entity, key)
File "build/bdist.macosx-10.7-intel/egg/sqlalchemy/ext/hybrid.py", line 681, in __get__
return self.expr(owner)
File "/Users/Ben/Dropbox/Giraffe/giraffe_server/giraffe/model.py", line 133, in f_path
print "\n\n\n[model.py:[email protected]_path hybrid_property] returning: ", os.path.join(env['project_dir'], self._f_path)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/posixpath.py", line 66, in join
if b.startswith('/'):
File "build/bdist.macosx-10.7-intel/egg/sqlalchemy/sql/expression.py", line 3426, in __nonzero__
raise TypeError("Boolean value of this clause is not defined")
TypeError: Boolean value of this clause is not defined
बिल्कुल सही। जब मुझे स्क्लेक्लेमी और एसक्यूएल की बात आती है तो मुझे अभी भी बहुत कुछ सीखना पड़ता है। बहुत बहुत धन्यवाद। –