Résolu : %22DO_NOTHING%22 n'est pas défini django

contrib.auth

Il n'y a pas de comportement défini pour le filtre %22DO_NOTHING%22 dans Django. Cela peut entraîner des résultats inattendus en cas d'utilisation dans un modèle ou une vue.

.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

L'erreur est de dire que le DO_NOTHING L'option n'est pas définie - c'est probablement parce qu'elle n'est pas prise en charge dans la version de Django que vous utilisez. Pour résoudre ce problème, vous pouvez soit mettre à jour Django vers une version plus récente, soit modifier le on_delete option à quelque chose d'autre qui est pris en charge.

Résoudre Django 'Handler' n'est pas défini

Cette erreur est causée par une instruction d'importation manquante dans votre projet Django. Vous pouvez résoudre ce problème en ajoutant la ligne suivante à la section des importations de votre projet :

de django.contrib.auth.models importer l'utilisateur

Si vous utilisez une bibliothèque d'authentification tierce, vous devrez peut-être également ajouter son importation.

Articles connexes

Laisser un commentaire