Contrib.auth
Không có hành vi nào được xác định cho bộ lọc %22DO_NOTHING%22 trong Django. Điều này có thể dẫn đến kết quả không mong muốn nếu được sử dụng trong mẫu hoặc dạng xem.
.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ỗi là nói rằng DO_NOTHING
tùy chọn không được xác định – điều này có thể là do nó không được hỗ trợ trong phiên bản Django mà bạn đang sử dụng. Để khắc phục điều này, bạn có thể cập nhật Django lên phiên bản mới hơn hoặc thay đổi on_delete
tùy chọn cho một cái gì đó khác được hỗ trợ.
Giải quyết Django 'Trình xử lý' không được xác định
Lỗi này là do câu lệnh nhập bị thiếu trong dự án Django của bạn. Bạn có thể khắc phục điều này bằng cách thêm dòng sau vào phần nhập của dự án:
từ django.contrib.auth.models nhập Người dùng
Nếu bạn đang sử dụng thư viện xác thực của bên thứ ba, bạn cũng có thể cần thêm quá trình nhập của thư viện đó.