Как получить доступ и использовать редактор схем Django?
В документах говорится
Каждый бэкенд базы данных в Django поставляет свою собственную версию SchemaEditor, и она всегда доступна через менеджер контекста connection.schema_editor():
with connection.schema_editor() as schema_editor:
schema_editor.delete_model(MyModel)
Примечание: В этом вопросе объект и метод перевернуты из документации: schema_editor.connection!. Но как найти его, чтобы использовать? Я пробовал это в repl:
with connection.schema_editor() as schema_editor:
NameError: name 'connection' is not defined
ModuleNotFoundError: No module named 'SchemaEditor'
ModuleNotFoundError: No module named 'DatabaseSchemaEditor'
NameError: name 'BaseDatabaseSchemaEditor' is not defined
import BaseDatabaseSchemaEditor
ModuleNotFoundError: No module named 'BaseDatabaseSchemaEditor'
Затем я погрузился в источник, после чего попробовал:
from django.db.backends.base import base
from django.db.backends.base.base import BaseDatabaseWrapper
se = schema_editor()
se = schema_editor()
NameError: name 'schema_editor' is not defined
se = BaseDatabaseWrapper.schema_editor()
TypeError: schema_editor() missing 1 required positional argument: 'self'
se = BaseDatabaseWrapper.schema_editor(self)
NameError: name 'self' is not defined
bdw = BaseDatabaseWrapper()
TypeError: __init__() missing 1 required positional argument: 'settings_dict'
from BaseDatabaseWrapper import schema_editor
ModuleNotFoundError: No module named 'BaseDatabaseWrapper'
...хотя он позволил мне импортировать его....
settings_dict = {
...: 'ENGINE': 'django.db.backends.sqlite3',
...: 'NAME': 'db.sqlite3',
...: }
bdw = BaseDatabaseWrapper(settings_dict)
TypeError: 'NoneType' object is not callable
После всего этого я уволился и пришел сюда. Помочь? Спасибо.