استيراد مرتين عند تشغيل اختبار
سؤال
ولدي هذا الرمز في بلدي tests.py:
from models import *
ووفي models.py لدي معالج إشارة وتسجيله مع
post_save.connect( post_save_note, sender=Note )
وعندما تشغيل اختبار مع ./manage.py test main
ولقد وجدت تم تسجيل معالج إشارة مرتين وتنفيذ مرتين، ولقد وجدت انها لأنه تم استيراد نماذج مرتين.
لا يمكنني وضع from models import *
في رمز اختبار؟
ماذا علي أن أفعل؟
المحلول
وأنت بحاجة للتأكد من النماذج الخاصة بك دائما استيرادها بنفس الطريقة.
وهكذا على سبيل المثال، إذا كان لديك في example1/tests.py
:
from models import *
ووفي حزمة example2/views.py
آخر:
from example1.models import ModelA
وبعد ذلك سيكون لديك المشكلة التي تعاني منها. والحل هو أن تكون متسقة واستخدام واحد فقط أو الآخر.
لا تنتمي إلى StackOverflow