Django; Как я могу изменить имя таблицы, используемое, например, django.contrib.sessions?

#python #django #frameworks

#python #django #фреймворки

Вопрос:

Как я могу изменить информацию в мета-классе, например, в ‘django.contrib.sessions.models’ , чтобы мой проект мог иметь несколько единообразные имена таблиц, но чтобы функциональность приложения была одинаковой?

Спасибо

Ответ №1:

Вы можете попробовать это:

 from django.contrib.sessions.models import Session
Session.Meta.db_table = 'my_session'
  

ОТРЕДАКТИРОВАНО
Приведенное выше решение выдает ошибку, но работает следующее:

 from django.contrib.sessions.models import Session
Session._meta.db_table = "my_session"
  

Комментарии:

1. @Konstant Куда ты поместил код? Когда я помещаю это в файл настроек, я получаю ошибку импорта.

2. Я поместил это в init .py проекта, и пока, похоже, это работает. Спасибо!

3. рад, что это помогло. Я пытаюсь выяснить ошибку импорта, когда мы помещаем фрагмент кода в файл настроек. Сообщу вам, что я нашел что-то конкретное.

4. По сути, это не что иное, как папка с именем «management» в папке вашего приложения. Обычно это используется для добавления пользовательских команд администратора

5. моя ошибка: отредактированная версия, помещенная в __init__.py файл в каталоге моего приложения, работает блестяще. ./manage.py sql sessions выводит правильное имя. Спасибо.