Resolvido: %22DO_NOTHING%22 não está definido django

contrib.auth

Não há comportamento definido para o filtro %22DO_NOTHING%22 no Django. Isso pode levar a resultados inesperados se usado em um modelo ou exibição.

.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

O erro é dizer que o DO_NOTHING opção não está definida - provavelmente porque não é compatível com a versão do Django que você está usando. Para corrigir isso, você pode atualizar o Django para uma versão mais recente ou alterar o on_delete opção para outra coisa que é suportada.

Resolver Django 'Handler' não está definido

Este erro é causado por uma declaração de importação ausente em seu projeto Django. Você pode corrigir isso adicionando a seguinte linha à seção de importações do seu projeto:

de django.contrib.auth.models import User

Se você estiver usando uma biblioteca de autenticação de terceiros, talvez seja necessário adicionar sua importação também.

Artigos relacionados:

Deixe um comentário