استعلام SQLALCHEMY عدم الارتباط
-
20-09-2019 - |
سؤال
أحاول إنشاء وظيفة اسم مستخدم فريدة بسيطة للاستخدام في مخطط التكوين. ها هي الوظيفة:
class UniqueUsername(formencode.FancyValidator):
def _to_python(self, value, state):
user = DBSession.query(User.user_name).filter(User.username==value)
if user is not None:
raise formencode.Invalid(
'That username already exists', value, state)
return value
المشكلة هي أن الاستعلام يتم إنشاؤه ولكنه لا يضرب قاعدة البيانات أبدًا. يحتوي متغير المستخدم ببساطة على الاستعلام الذي تم إنشاؤه ، وليس نتائج الاستعلام. كيف يمكنني إصلاح هذا؟ شكرا جزيلا.
المحلول
يجب أن يكون:
user = DBSession.query(User.user_name).filter(User.username==value).first()
أيضا: هل هو user.user_name أو user.username؟
لا تنتمي إلى StackOverflow