Vyriešené: %22DO_NOTHING%22 nie je definované django

prispievať.auth

Pre filter %22DO_NOTHING%22 v Django nie je definované žiadne správanie. Ak sa použije v šablóne alebo zobrazení, môže to viesť k neočakávaným výsledkom.

.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

Chyba hovorí, že DO_NOTHING možnosť nie je definovaná – je to pravdepodobne preto, že nie je podporovaná vo verzii Django, ktorú používate. Ak to chcete vyriešiť, môžete aktualizovať Django na novšiu verziu alebo zmeniť on_delete možnosť na niečo iné, čo je podporované.

Riešenie Django 'Handler' nie je definované

Táto chyba je spôsobená chýbajúcim príkazom importu vo vašom projekte Django. Môžete to vyriešiť pridaním nasledujúceho riadku do sekcie importov vášho projektu:

z django.contrib.auth.models importovať Používateľ

Ak používate overovaciu knižnicu tretej strany, možno budete musieť pridať aj jej import.

Súvisiace príspevky:

Pridať komentár