मैंने contrib.contenttypes
फ्रेमवर्क का उपयोग करके पर GenericForeignKey
पर माइग्रेट किया। ContentType
वस्तु मैं डेटा को स्थानांतरित करने की जरूरत है पहुँचने के लिए, मैं इस कोड का इस्तेमाल किया:Django: परीक्षण चलते समय माइग्रेशन के दौरान सामग्री प्रकार
ContentType = apps.get_model('contenttypes', 'ContentType')
my_model_content_type = ContentType.objects.get(
app_label='my_app',
model='my_model'
)
प्रवास काम करता है जब मैं manage.py migrate
चलाते हैं, और मैं तो खोल में अद्यतन मॉडल समस्याओं के बिना साथ खेल सकते हैं।
हालांकि, जब मैं manage.py test
को चलाने के लिए प्रयास करते हैं, मैं ContentTypes.object.get()
लाइन में निम्न त्रुटि मिलती है:
__fake__.DoesNotExist: ContentType matching query does not exist.
उस समय ContentType.objects.all()
के लिए पता कर रहा है एक खाली क्वेरीसमूह देता है।
मैं कोशिश की है मेरी क्वेरी से पहले इस चलाने के लिए (के रूप में एक और उत्तर अतः यहाँ द्वारा निर्देशित), लेकिन कोई लाभ नहीं हुआ:
update_contenttypes(apps.app_configs['contenttypes'])
update_contenttypes(apps.app_configs['my_app'])
मैं यह कैसे सुनिश्चित कर सकते हैं कि ContentType
पंक्तियों में उस बिंदु पर मौजूद परीक्षण डेटाबेस माइग्रेशन?
यह 1.11 में काम नहीं करता है: 'django.contrib.contenttypes.management import update_contenttypes' –
से पहले https://code.djangoproject.com/ticket/28092 create_contenttypes –
के लिए नामित यह Django 1.11 में मेरे लिए काम करता है 'update_contenttypes' का नाम बदल दिया गया। – Franey