contrib.auth
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 આયાત વપરાશકર્તા તરફથી
જો તમે તૃતીય-પક્ષ પ્રમાણીકરણ લાઇબ્રેરીનો ઉપયોગ કરી રહ્યાં છો, તો તમારે તેની આયાત પણ ઉમેરવાની જરૂર પડી શકે છે.