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
Якщо ви використовуєте сторонню бібліотеку автентифікації, вам також може знадобитися додати її імпорт.