إكسير معالج الأحداث
-
09-09-2019 - |
سؤال
أريد استخدام Decorator Decorator @ Elixir، لكن لا يمكنني الوصول إلى الجلسة داخل النموذج. نظرا لأن لدي AutoCommit Set false، لا أستطيع ارتكاب أي تغييرات في معالج الأحداث. هل هناك أفضل الممارسات كيفية التعامل مع ذلك؟
يتم إخراج الرمز الذي اعتدت عليه لبناء نموذج اتصال قاعدة البيانات وما إلى ذلك.
الطريقة المرغوبة:
class Artefact(Entity):
[...]
@after_insert
def make_signature(self):
self.signature = '%s-%s' % (self.artefact_type.title.upper()[:3], self.id)
تتم كل تهيئة الجلسة في فيه.py في نفس الدليل.
عندما اتصلت:
Session.update(self)
Session.commit()
أحصل على خطأ في أن الجلسة غير محددة. اي فكرة؟
المحلول
هل استوردت الجلسة؟
from packagename import Session
في الجزء العلوي من ملف النموذج الخاص بك يجب أن تفعل الخدعة. Packagename هو اسم الدليل.
لا تنتمي إلى StackOverflow