InvalidBasesError: Cannot resolve bases for [<ModelState: 'cms.PageUser'>]

4 июля 2016 г. 2:19

Довольно-таки необычная может возникнуть ошибка при попытке создать первую миграцию для кастомной модели пользователя (User) в Django:

django.db.migrations.state.InvalidBasesError: Cannot resolve bases for [<ModelState: 'cms.PageUser'>]

Как оказалось, всё дело в том, что django cms в 0001_initial.py миграции пытается обратиться к миграциям модели User:

class Migration(migrations.Migration):

    dependencies = [
        ('auth', '__first__'),
        migrations.swappable_dependency(settings.AUTH_USER_MODEL),  # обращение к миграциям модели User
        ('sites', '__first__'),
    ]
    ...

И не находит, так как у нас ещё нет пока миграций для нашей модели кастомного юзера. Поэтому перед созданием миграций кастомного пользователя, нужно закомментировать приложения djangocms_text_ckeditor и cms:

INSTALLED_APPS = (
    ...
    'django.contrib.auth',
    'my_custom_auth',  # наша кастомная модель
    ...

    # 'djangocms_text_ckeditor',
    # 'cms',
    ...
)

Сделать makemigrations:

manage.py@my_project > makemigrations

Migrations for 'my_custom_auth':
  0001_initial.py:
    - Create model User

А затем уже раскомментировать приложения djangocms_text_ckeditor и cms и вызвать migrate - должно получится.

Оцените статью

5 из 5 (всего 3 оценки)

captcha
Отмеченные звёздочкой поля ( * ) являются обязательными для заполнения.

Спасибо за ваш отзыв!

После нажатия кнопки "Отправить" ваше сообщение будет доставлено мне на почту.

Автор статьи

Артём Мальцев

Веб-разработчик, владеющий знаниями языка программирования Python, фреймворка Django, системы управления содержимым сайта Django CMS, платформы для создания интернет-магазина Django Shop и многих различных приложений, использующих эти технологии.

Права на использование материала, расположенного на этой странице https://vivazzi.pro/ru/it/cannot-resolve-bases-for-pageuser/:

Разрешается копировать материал с указанием её автора и ссылки на оригинал без использования параметра rel="nofollow" в теге <a>. Использование:

Автор статьи: Артём Мальцев
Ссылка на статью: <a href="https://vivazzi.pro/ru/it/cannot-resolve-bases-for-pageuser/">https://vivazzi.pro/ru/it/cannot-resolve-bases-for-pageuser/</a>

Больше: Правила использования сайта

Представляю вашему вниманию книгу, написанную моим близким другом Максимом Макуриным: Секреты эффективного управления ассортиментом.

Книга предназначается для широкого круга читателей и, по мнению автора, будет полезна специалистам отдела закупок и логистики, категорийным и финансовым менеджерам, менеджерам по продажам, аналитикам, руководителям и директорам, в компетенции которых принятие решений по управлению ассортиментом.

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

Гость
Гость

18.08.2019 10:15 #

Огромная благодарность! Решение помогло.

Ответить

Артём Мальцев
Артём Мальцев автор

19.08.2019 4:27 #

Рад, что помогло!

Ответить

Вы можете оставить комментарий как незарегистрированный пользователь.

Но зарегистрировавшись, вы сможете:

  • получать оповещения об ответах
  • просматривать свои комментарии
  • иметь возможность использовать все функции разработанных сервисов

Для комментирования от своего имени войдите или зарегистрируйтесь на сайте Vuspace

Отправить

На данный момент нет специального поиска, поэтому я предлагаю воспользоваться обычной поисковой системой, например, Google, добавив "vivazzi" после своего запроса.

Попробуйте

Выберите валюту для отображения денежных единиц