15 / 12 / 4
Регистрация: 06.04.2020
Сообщений: 95

test-case: no such table: main.forum_topic__old

11.05.2020, 01:30. Показов 2400. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Месяц назад тесты проходили успешно. За месяц доработок делал кучу новых миграций, потом они перестали мигрироваться. Все миграции потёр, сделал заново. Приложение работает.
test же выдаёт ошибку:

django.db.utils.OperationalError: no such table: main.forum_topic__old


В базе таблица forum_topic имеется.


Ошибку выдаёт на строке:

topic.tags.add(for_tags.pop(random.randi nt(1, len(for_tags) - 1)))
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
11.05.2020, 01:30
Ответы с готовыми решениями:

Ошибка Exception in thread "main" org.hibernate.MappingException: Unknown entity: main.java.table.Book
Не могу понять в чём причина. Пытаюсь осваивать hibernate. Простой пример и вылетает с исключением: ... Hi there! Let's save! ...

Test-case
Помогите написать юнит тестирование в C++ Builder ибо примеров с делфи очень много, а builderа нет. Пока получилось только создать тест...

Test case и орфографическая ошибка
Здравствуйте! Не могу найти инфу, вот и решил спросить здесь, подскажите плз! Пример: В корзину добавляются товары, все исправно...

7
 Аватар для m0nte-cr1st0
1043 / 578 / 242
Регистрация: 15.01.2019
Сообщений: 2,178
Записей в блоге: 1
11.05.2020, 10:14
Shandrik, показывай тест, модели
0
15 / 12 / 4
Регистрация: 06.04.2020
Сообщений: 95
11.05.2020, 12:19  [ТС]
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
class Topic(models.Model):
    author = models.ForeignKey(User, verbose_name=_('User'), null=True, blank=True, on_delete=models.SET_NULL,
                               related_name='topics_author')
    subject = models.CharField(_('Subject'), null=False, blank=False, max_length=256)
    description = RichTextField(_('Description'), null=True, blank=True)
    chapter = models.ForeignKey(Chapter, verbose_name=_('Chapter'), null=True, max_length=256,
                                on_delete=models.SET_NULL)
    tags = models.ManyToManyField(Tag, verbose_name=_('Tags'), blank=True)
    attachments = models.ManyToManyField(Attachment, verbose_name=_("Attachment"))
    is_closed = models.NullBooleanField(verbose_name=_('Topic is closed'), null=True, default=False)
    is_deleted = models.NullBooleanField(verbose_name=_('Topic is deleted'), null=True, default=False)
    rating = models.IntegerField(verbose_name=_('Rating'), default=0)
    created = models.DateTimeField(verbose_name=_('Date created'), auto_now_add=True)
 
    class Meta:
        verbose_name = _('Topic')
        verbose_name_plural = _('Topics')
        ordering = ['-last_activity']
 
    def __str__(self):
        return f' {self.subject} ({self.author.userprofile.fi() if self.author.userprofile else self.author} {self.created:%d.%m.%Y %H:%M:%S})'
 
    def get_absolute_url(self):
        from django.urls import reverse
        return reverse('forum:topic-detail', kwargs={'topic_pk': self.id})
 
    def get_row_classes(self,user):
        row_classes = [CSS_IS_TOPIC,]
        watch_list = WatchList.objects.filter(user=user, object_id=self.id,
                                              content_type=ContentType.objects.get_for_model(Topic))
        if self.is_deleted:
            row_classes.append(CSS_IS_DELETED)
        elif self.is_closed:
            row_classes.append(CSS_IS_CLOSED)
        elif watch_list:
            row_classes.append(CSS_IS_WATCHED)
            watch_obj = watch_list.first()
            if watch_obj.first_not_viewed_comment:
                row_classes.append(CSS_HAS_UNREAD)
        else:
            row_classes.append(CSS_IS_REGULAR)
        return row_classes
Добавлено через 54 секунды
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
def create_topics_comments_and_related_objects(users,chapters,tags):
    topics = []
    comments = []
    bookmarks = []
    usermarks = []
    watchlists = []
    bans = []
    usr_msgs = []
    for i in range(100):
        topic, create = Topic.objects.get_or_create(author=random.choice(users), subject=get_lorem_ipsum(50),description=get_lorem_ipsum(250), chapter=random.choice(chapters),rating=random.randint(-10, 10))
        if create:
            for_tags = tags.copy()
            tags_count = random.randint(1, len(for_tags) // 3)
            for j in range(tags_count):
                topic.tags.add(for_tags.pop(random.randint(1, len(for_tags) - 1)))
...
0
 Аватар для m0nte-cr1st0
1043 / 578 / 242
Регистрация: 15.01.2019
Сообщений: 2,178
Записей в блоге: 1
11.05.2020, 12:19
Тест и трейсбек покажи
0
15 / 12 / 4
Регистрация: 06.04.2020
Сообщений: 95
11.05.2020, 12:24  [ТС]
В данной вырезке ошибка возникает в 18 строке

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
class test_create(TestCase):
    def test_demiurg(self):
        users, profiles = create_users_and_profiles()
        self.assertEqual(User.objects.all().count(), len(users), 'Проверка создания Users')
        self. assertIsNot(str(profiles[0]), '')
        self.assertIsNot(profiles[0].get_absolute_url(), '')
        self.assertEqual(UserProfile.objects.all().count(), len(profiles), 'Проверка создания UserProfiles')
        self.assertIsNot(str(profiles[0]), '')
 
        chapters = create_chapters(users)
        self.assertEqual(Chapter.objects.all().count(), len(chapters), 'Проверка создания Chapters')
        self.assertIsNot(str(chapters[0]), '')
 
        tags = create_tags()
        self.assertEqual(Tag.objects.all().count(), len(tags), 'Проверка создания Tags')
        self.assertIsNot(str(tags[0]), '')
 
        topics, comments, bookmarks, usermarks, watchlists, bans, usr_msgs = create_topics_comments_and_related_objects(users,chapters,tags)
        self.assertEqual(Topic.objects.all().count(), len(topics), 'Проверка создания Topics')
        self.assertEqual(Comment.objects.all().count(), len(comments), 'Проверка создания Comments')
Добавлено через 24 секунды
python manage.py test --settings=service_centre.settings.develop
Creating test database for alias 'default'...
Creating test database for alias 'idm'...
Destroying old test database for alias 'idm'...
Type 'yes' if you would like to try deleting the test database 'D:\Work\PyCharmProject\forum_sc\service _centre\..\test_idm.sqlite3', or 'no' to cancel: yes
System check identified no issues (0 silenced).
E
======================================== ==============================
ERROR: test_demiurg (forum.tests.test_models.test_create)
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\Python37\lib\site-packages\django\db\backends\utils.py", line 85, in _execute
return self.cursor.execute(sql, params)
File "C:\Python37\lib\site-packages\django\db\backends\sqlite3\base .py", line 303, in execute
return Database.Cursor.execute(self, query, params)
sqlite3.OperationalError: no such table: main.forum_topic__old

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
File "D:\Work\PyCharmProject\forum_sc\forum\t ests\test_models.py", line 37, in test_demiurg
topics, comments, bookmarks, usermarks, watchlists, bans, usr_msgs = create_topics_comments_and_related_objec ts(users,chapters,tags)
File "D:\Work\PyCharmProject\forum_sc\forum\t ests\maternity_ward.py", line 214, in create_topics_comments_and_related_objec ts
topic.tags.add(for_tags.pop(random.randi nt(1, len(for_tags) - 1)))
File "C:\Python37\lib\site-packages\django\db\models\fields\related _descriptors.py", line 898, in add
self._add_items(self.source_field_name, self.target_field_name, *objs)
File "C:\Python37\lib\site-packages\django\db\models\fields\related _descriptors.py", line 1065, in _add_items
for obj_id in new_ids
File "C:\Python37\lib\site-packages\django\db\models\query.py", line 466, in bulk_create
ids = self._batched_insert(objs_without_pk, fields, batch_size)
File "C:\Python37\lib\site-packages\django\db\models\query.py", line 1148, in _batched_insert
self._insert(item, fields=fields, using=self.db)
File "C:\Python37\lib\site-packages\django\db\models\query.py", line 1125, in _insert
return query.get_compiler(using=using).execute_ sql(return_id)
File "C:\Python37\lib\site-packages\django\db\models\sql\compiler.p y", line 1285, in execute_sql
cursor.execute(sql, params)
File "C:\Python37\lib\site-packages\django\db\backends\utils.py", line 68, in execute
return self._execute_with_wrappers(sql, params, many=False, executor=self._execute)
File "C:\Python37\lib\site-packages\django\db\backends\utils.py", line 77, in _execute_with_wrappers
return executor(sql, params, many, context)
File "C:\Python37\lib\site-packages\django\db\backends\utils.py", line 85, in _execute
return self.cursor.execute(sql, params)
File "C:\Python37\lib\site-packages\django\db\utils.py", line 89, in __exit__
raise dj_exc_value.with_traceback(traceback) from exc_value
File "C:\Python37\lib\site-packages\django\db\backends\utils.py", line 85, in _execute
return self.cursor.execute(sql, params)
File "C:\Python37\lib\site-packages\django\db\backends\sqlite3\base .py", line 303, in execute
return Database.Cursor.execute(self, query, params)
django.db.utils.OperationalError: no such table: main.forum_topic__old

----------------------------------------------------------------------
Ran 1 test in 0.273s

FAILED (errors=1)
Destroying test database for alias 'default'...
Destroying test database for alias 'idm'...
0
 Аватар для m0nte-cr1st0
1043 / 578 / 242
Регистрация: 15.01.2019
Сообщений: 2,178
Записей в блоге: 1
11.05.2020, 12:53
Лучший ответ Сообщение было отмечено Shandrik как решение

Решение

https://stackoverflow.com/ques... h-user-old
1
15 / 12 / 4
Регистрация: 06.04.2020
Сообщений: 95
12.05.2020, 21:08  [ТС]
Ну там про миграции и версии джанги. Миграции недавно обнулял. Версия-то не может быть причиной - со времени последних доработок версия не менялось.
Причём интересно, что тесты проходили, а ковеража - нет.
Но на всякий случай поднял до 3.0.6 - всё сломалось. Кое-как обратно откатил. Всё заработало. Хрен знает, что происходит.
Ну починилось и хорошо. Спасибо Вам!
0
 Аватар для m0nte-cr1st0
1043 / 578 / 242
Регистрация: 15.01.2019
Сообщений: 2,178
Записей в блоге: 1
13.05.2020, 01:26
Shandrik, с версиями бд могут быть проблемы как я понял
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
13.05.2020, 01:26
Помогаю со студенческими работами здесь

Повторное использование Test-Case
Добрый день. Есть тест кейс его нужно реализовать для двух браузеров Chrome и FireFox. Нужно ли мне писать под каждый браузер отдельный...

JUnit test для метода main
Привет всем, такой вопрос, есть некая иерархия электроприборов, и утилитарный класс для работы с ними (WorkWithAppliances), и есть класс...

Qmake. unknown test function: int main и тд
win7 x64, qt 4.8 mingw. Захожу в командную строку пишу "path2qt/bin/qmake.exe" "path2myCpp/cpp.cpp" Получаю три одинаковых сообщения: ...

Сколько памяти (в байтах) займет данный массив: class Test { public: int c=0,r=0; double q = 0; }; Test *Mass = new Test
Сколько памяти (в байтах) займет данный массив: class Test { public: int c=0, r=0; double q = 0; }; Test *Mass = new...

Как переделать Case of для Main menu?
case RadioGroup1.ItemIndex of 0: linia(X, Y, Image1.Canvas); 1: rectangle(x1, y1, X, Y); 2: Ellipse(x1, y1, X, Y); ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru