Επιλύθηκε: Το %22DO_NOTHING%22 δεν έχει οριστεί ως django

συνεισφορά.auth

Δεν υπάρχει καθορισμένη συμπεριφορά για το φίλτρο %22DO_NOTHING%22 στο Django. Αυτό θα μπορούσε να οδηγήσει σε απροσδόκητα αποτελέσματα εάν χρησιμοποιηθεί σε πρότυπο ή προβολή.

.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 Το 'Handler' δεν έχει οριστεί

Αυτό το σφάλμα προκαλείται από μια δήλωση εισαγωγής που λείπει στο έργο Django. Μπορείτε να το διορθώσετε προσθέτοντας την ακόλουθη γραμμή στην ενότητα εισαγωγών του έργου σας:

από το django.contrib.auth.models εισαγωγή Χρήστης

Εάν χρησιμοποιείτε βιβλιοθήκη ελέγχου ταυτότητας τρίτου μέρους, ίσως χρειαστεί να προσθέσετε και την εισαγωγή της.

Σχετικές αναρτήσεις:

Αφήστε ένα σχόλιο