Cx_Oracle Database error:ORA-00910:specified length too long for its dataype when using with django 4
Ниже приведен мой код:
from django.test import TestCase
from myApp.models import myModel
from myApp.serializers import myModel_serializer
import requests
import time
class SendTestCase(TestCase):
def __init__(self, *args, **kwargs):
self.url = 'http://0.0.0.0:3000/a/b/'
self.testData =[]
super(SendTestCase, self).__init__(*args, **kwargs)
def setUp(self):
# pass
print("setting up test case")
modelInfo = myModel.objects.all()
for info in modelInfo:
info_serialized = myModel_serializer(info).data
self.testData.append(
{
"Info" : info_serialized,
}
)
def tearDown(self):
pass
def test_send(self):
print("sending")
for data in self.testData:
response = requests.post(self.url, data)
self.assertEqual(response.status_code, 201)
response.close()
time.sleep(1)
Когда я запускаю python3 manage.py test myApp он сообщает, что создает тестовую базу данных и тестового пользователя. После этого он выдает мне "django.db.utils.DatabaseError: ORA-00910: specified length too long for its datatype". Ниже приведен текст трассировки:
Я использую базу данных oracle и использую движок django.db.backends.oracle. В классе myModel я использовал models.CharField() для полей VARCHAR2 в базе данных и models.IntegerField() для полей NUMBER в базе данных. Класс myModel не управляется моим приложением, т.е. в его мета-классе установлено значение managed=False.
Посоветуйте, пожалуйста, что происходит не так!