katkı.auth
Django'da %22DO_NOTHING%22 filtresi için tanımlanmış bir davranış yok. Bu, bir şablonda veya görünümde kullanılırsa beklenmeyen sonuçlara yol açabilir.
.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
Hata diyor ki, DO_NOTHING seçenek tanımlı değil – bunun nedeni muhtemelen kullanmakta olduğunuz Django sürümünde desteklenmemesidir. Bunu düzeltmek için Django'yu daha yeni bir sürüme güncelleyebilir veya on_delete desteklenen başka bir şeye seçenek.
Çöz Django 'İşleyici' tanımlı değil
Bu hata, Django projenizdeki eksik bir içe aktarma ifadesinden kaynaklanır. Projenizin import bölümüne aşağıdaki satırı ekleyerek bunu düzeltebilirsiniz:
django.contrib.auth.models'den Kullanıcıyı içe aktar
Üçüncü taraf bir kimlik doğrulama kitaplığı kullanıyorsanız, içe aktarmayı da eklemeniz gerekebilir.