سؤال

أريد استخدام 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 هو اسم الدليل.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top