योगदान
Django में %22DO_NOTHING%22 फ़िल्टर के लिए कोई परिभाषित व्यवहार नहीं है। यदि किसी टेम्पलेट या दृश्य में इसका उपयोग किया जाता है तो इससे अनपेक्षित परिणाम प्राप्त हो सकते हैं।
.db.utils.ProgrammingError: %22DO_NOTHING%22 is not defined I'm trying to run a migration in Django, but I get the following error: <code>django.db.utils.ProgrammingError: %22DO_NOTHING%22 is not defined</code> The migration file looks like this: <code># -*- coding: utf-8 -*- # Generated by Django 1.11 on 2017-08-18 13:16 from __future__ import unicode_literals from django.db import migrations, models class Migration(migrations.Migration): dependencies = [("myapp", "0004_auto_20170818_1255")] operations = [migrations.AlterField(model_name="mymodel", name="field1", field=models.ForeignKey(null=True, on_delete=models.DO_NOTHING, related_name="+", to="myapp"))] # noqa</code> The model it's referring to looks like this (the field in question is <code>field1</code>) : <code>class MyModel(models.Model): field1 = models.... # other fields here</code> # noqa
त्रुटि कह रही है कि DO_NOTHING
विकल्प परिभाषित नहीं है - यह संभव है क्योंकि यह आपके द्वारा उपयोग किए जा रहे Django के संस्करण में समर्थित नहीं है। इसे ठीक करने के लिए, आप या तो Django को एक नए संस्करण में अपडेट कर सकते हैं, या इसे बदल सकते हैं on_delete
समर्थित किसी अन्य चीज़ का विकल्प।
हल करें Django 'हैंडलर' परिभाषित नहीं है
यह त्रुटि आपके Django प्रोजेक्ट में अनुपलब्ध आयात विवरण के कारण हुई है। आप अपनी परियोजना के आयात अनुभाग में निम्न पंक्ति जोड़कर इसे ठीक कर सकते हैं:
django.contrib.auth.models से उपयोगकर्ता आयात करें
यदि आप तृतीय-पक्ष प्रमाणीकरण लाइब्रेरी का उपयोग कर रहे हैं, तो आपको इसके आयात को भी जोड़ने की आवश्यकता हो सकती है।