συνεισφορά.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 εισαγωγή Χρήστης
Εάν χρησιμοποιείτε βιβλιοθήκη ελέγχου ταυτότητας τρίτου μέρους, ίσως χρειαστεί να προσθέσετε και την εισαγωγή της.