2009-11-26 26 views
7

चलाने मैं अपने tests.py में इस कोड है:आयात दो बार जब परीक्षण

from models import * 

और models.py में मैं एक संकेत हैंडलर है और

post_save.connect(post_save_note, sender=Note) 

और जब मैं से पंजीकृत करें ./manage.py test main

मुझे पता चला कि सिग्नल हैंडलर दो बार पंजीकृत है और दो बार निष्पादित किया गया है, और मुझे ऐसा लगता है क्योंकि मॉडल दो बार आयात किए गए थे।

क्या मैं परीक्षण कोड में from models import * नहीं डाल सकता? मुझे क्या करना चाहिए?

उत्तर

9

आपको यह सुनिश्चित करना होगा कि आपके मॉडल हमेशा एक ही तरीके से आयात किए जाएंगे।

उदाहरण के लिए, आप example1/tests.py में पूछना चाहते हैं तो:

from models import * 

और एक अन्य पैकेज example2/views.py में:

from example1.models import ModelA 

तो आप समस्या का होगा। समाधान सुसंगत होना और केवल एक या दूसरे का उपयोग करना है।

+0

आपको बहुत बहुत धन्यवाद – fallhunter

संबंधित मुद्दे