Size: a a a

Django [ru] #STAY HOME

2019 May 27

S

Spirit💎 in Django [ru] #STAY HOME
так, что можно сделать тогда?
источник

TD

Timur Daukaev in Django [ru] #STAY HOME
Spirit💎
добрый день, господа. скажите, почему у меня при ./manage.py test джанга говорит, что база test_* уже существует и предлагает перезаписать. потом запускается тест и пишет ошибку: django.db.utils.OperationalError: (1118, 'Row size too large. The maximum row size for the used table type, not counting BLOBs, is 65535. This includes storage overhead, check the manual. You have to change some columns to TEXT or BLOBs')
такое причем на каждом тесте. версия джанги 1.11
При старте теста создаётся тестовая база.
Когда тест падает, эта база, видимо, не удаляется сама, поэтому в начале и спрашивает, не пересоздать ли её.

Что касается самой ошибки - видимо, тебе просто где-то нужно CharField на TextField поменять. Но тут, не видя кода, нельзя сказать.
источник

DT

Dan Tyan in Django [ru] #STAY HOME
решить проблему что бы тест доходил до конца
источник

S

Spirit💎 in Django [ru] #STAY HOME
спасибо, уважаемые. сейчас буду шукать
источник

TD

Timur Daukaev in Django [ru] #STAY HOME
Timur Daukaev
При старте теста создаётся тестовая база.
Когда тест падает, эта база, видимо, не удаляется сама, поэтому в начале и спрашивает, не пересоздать ли её.

Что касается самой ошибки - видимо, тебе просто где-то нужно CharField на TextField поменять. Но тут, не видя кода, нельзя сказать.
> Что касается самой ошибки - видимо, тебе просто где-то нужно CharField на TextField поменять.

Ой, хотя, это вроде не совсем та ошибка.

Но в целом, да, проблема не столько в базе, сколько в том, что ты пытаешься в неё записать.
источник

S

Spirit💎 in Django [ru] #STAY HOME
Timur Daukaev
> Что касается самой ошибки - видимо, тебе просто где-то нужно CharField на TextField поменять.

Ой, хотя, это вроде не совсем та ошибка.

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

так вот, данные, которые мы кормим, лежат в жсоне и захватываются таким образом: fixtures = [os.path.dirname(__file__) + '/initial_db_data.json'] может в этом трабла? как вообще можно дебагом поймать причину?
источник

TD

Timur Daukaev in Django [ru] #STAY HOME
Spirit💎
в общем, тут старый проект весьма, его пол года назад обкладывали тестами и все работало. разработчики сменились, а я вот пытаюсь заставить эти тесты работать заново)

так вот, данные, которые мы кормим, лежат в жсоне и захватываются таким образом: fixtures = [os.path.dirname(__file__) + '/initial_db_data.json'] может в этом трабла? как вообще можно дебагом поймать причину?
А когда тест падает, там стектрейса нет?
По нему можно было бы понять, в каком файле, на какой строке упал тест.
источник

S

Spirit💎 in Django [ru] #STAY HOME
Timur Daukaev
А когда тест падает, там стектрейса нет?
По нему можно было бы понять, в каком файле, на какой строке упал тест.
есть стектрейс, но тут везде стандартные либы, последняя – mysqldb/connections.py
источник

S

Spirit💎 in Django [ru] #STAY HOME
вот что дебагер выплевывает
источник

S

Spirit💎 in Django [ru] #STAY HOME
подскажет кто? я совсем в ступоре
источник

TD

Timur Daukaev in Django [ru] #STAY HOME
Spirit💎
подскажет кто? я совсем в ступоре
Решения отсюда https://stackoverflow.com/questions/25299370/mysql-error-1118-row-size-too-large-when-restoring-django-mailer-database не пробовал?
Похоже, надо параметры бд поменять 🤔
источник

S

Spirit💎 in Django [ru] #STAY HOME
я вот сейчас попробовал различные куски кода в тесте закомментить – все равно одинаковая реакция. как будто тест еще не начинался даже. уже ошибка базы
источник

S

Spirit💎 in Django [ru] #STAY HOME
сейчас погляжу что там на стаке
источник

TD

Timur Daukaev in Django [ru] #STAY HOME
Spirit💎
я вот сейчас попробовал различные куски кода в тесте закомментить – все равно одинаковая реакция. как будто тест еще не начинался даже. уже ошибка базы
Ну, если оно сделано с помощью стандартных механизмов джанги, то да, фикстуры до начала тестов импортируются
https://docs.djangoproject.com/en/2.2/topics/testing/tools/#fixture-loading
источник

S

Spirit💎 in Django [ru] #STAY HOME
не помогло
источник

S

Spirit💎 in Django [ru] #STAY HOME
Timur Daukaev
Ну, если оно сделано с помощью стандартных механизмов джанги, то да, фикстуры до начала тестов импортируются
https://docs.djangoproject.com/en/2.2/topics/testing/tools/#fixture-loading
так даже если фикстуру закомментить, все равно та же ошибка
источник

E

Egor in Django [ru] #STAY HOME
Подскажите, пишет ошибку type object ’PsychoSessionForm' has no attribute 'fields’ как исправить?
источник

DT

Dan Tyan in Django [ru] #STAY HOME
Egor
Подскажите, пишет ошибку type object ’PsychoSessionForm' has no attribute 'fields’ как исправить?
это админка ?
источник

E

Egor in Django [ru] #STAY HOME
Dan Tyan
это админка ?
Да
источник

S

Spirit💎 in Django [ru] #STAY HOME
Timur Daukaev
> Что касается самой ошибки - видимо, тебе просто где-то нужно CharField на TextField поменять.

Ой, хотя, это вроде не совсем та ошибка.

Но в целом, да, проблема не столько в базе, сколько в том, что ты пытаешься в неё записать.
description varchar(10000)
в квери. кажется в нем и беда
источник