#python #django
Вопрос:
Я пишу API с django, и у меня возникает такая проблема: когда я создаю объект сериализатора, если я делаю это так:
document_serializer = DocumentSalesforceSerializer(data={
"AccountId": patient_id,
"ContactId": patient_id,
"Proveedor__c": "docline",
"Servicio_asociado__c": "report",
"Mapfre_Id__c": patient_id,
"Status": "In Progress",
"StartDate": document["createdAt"],
"EndDate": "hoy",
"Subject": document["category"],
"Description": description,
"SAV_fld_source__c": "docline",
"SAV_fld_doclineExtId__c": id,
"SAV_fld_doctor__c": "",
})
document_serializer.is_valid(raise_exception=True)
Я получаю следующую ошибку:
The translation infrastructure cannot be initialized before the apps registry is ready. Check that you don't make non-lazy gettext calls at import time.
Читая в Интернете, некоторые люди говорили, что я должен удалить эту data=
часть, поэтому я оставил ее такой:
document_serializer = DocumentSalesforceSerializer({
"AccountId": patient_id,
"ContactId": patient_id,
"Proveedor__c": "docline",
"Servicio_asociado__c": "report",
"Mapfre_Id__c": patient_id,
"Status": "In Progress",
"StartDate": document["createdAt"],
"EndDate": "hoy",
"Subject": document["category"],
"Description": description,
"SAV_fld_source__c": "docline",
"SAV_fld_doclineExtId__c": id,
"SAV_fld_doctor__c": "",
})
document_serializer.is_valid(raise_exception=True)
Но потом я получаю эту ошибку:
Cannot call `.is_valid()` as no `data=` keyword argument was passed when instantiating the serializer instance.
Есть ли у кого-нибудь представление о том, что вызывает ошибку? Заранее спасибо, что прочитали этот вопрос.
Изменить: Это обратная связь ошибки:
Traceback (most recent call last):
File "C:Userscarlos.dcocoDocumentssavia-doclenvlibsite-packagesdjangoutilstranslationtrans_real.py", line 194, in _add_installed_apps_translations
app_configs = reversed(list(apps.get_app_configs()))
File "C:Userscarlos.dcocoDocumentssavia-doclenvlibsite-packagesdjangoappsregistry.py", line 145, in get_app_configs
self.check_apps_ready()
File "C:Userscarlos.dcocoDocumentssavia-doclenvlibsite-packagesdjangoappsregistry.py", line 136, in check_apps_ready
raise AppRegistryNotReady("Apps aren't loaded yet.")
django.core.exceptions.AppRegistryNotReady: Apps aren't loaded yet.
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:Userscarlos.dcocoDocumentssavia-docldocline-integrationdebug_kafka.py", line 30, in <module>
main()
File "C:Userscarlos.dcocoDocumentssavia-docldocline-integrationdebug_kafka.py", line 26, in main
event_handler(event)
File "C:Userscarlos.dcocoDocumentssavia-docldocline-integrationappconnectorkafka_events.py", line 170, in event_handler
event_logic(event_type, event_id)
File "C:Userscarlos.dcocoDocumentssavia-docldocline-integrationappconnectorkafka_events.py", line 158, in event_logic
return document_ops(event, id)
File "C:Userscarlos.dcocoDocumentssavia-docldocline-integrationappconnectorkafka_events.py", line 134, in document_ops
document_create_ops(id)
File "C:Userscarlos.dcocoDocumentssavia-docldocline-integrationappconnectorkafka_events.py", line 110, in document_create_ops
document_serializer.is_valid(raise_exception=True)
File "C:Userscarlos.dcocoDocumentssavia-doclenvlibsite-packagesrest_frameworkserializers.py", line 220, in is_valid
self._validated_data = self.run_validation(self.initial_data)
File "C:Userscarlos.dcocoDocumentssavia-doclenvlibsite-packagesrest_frameworkserializers.py", line 419, in run_validation
value = self.to_internal_value(data)
File "C:Userscarlos.dcocoDocumentssavia-doclenvlibsite-packagesrest_frameworkserializers.py", line 476, in to_internal_value
validated_value = field.run_validation(primitive_value)
File "C:Userscarlos.dcocoDocumentssavia-doclenvlibsite-packagesrest_frameworkfields.py", line 797, in run_validation
self.fail('blank')
File "C:Userscarlos.dcocoDocumentssavia-doclenvlibsite-packagesrest_frameworkfields.py", line 640, in fail
message_string = msg.format(**kwargs)
File "C:Userscarlos.dcocoDocumentssavia-doclenvlibsite-packagesdjangoutilsfunctional.py", line 135, in __wrapper__
res = func(*self.__args, **self.__kw)
File "C:Userscarlos.dcocoDocumentssavia-doclenvlibsite-packagesdjangoutilstranslation__init__.py", line 94, in gettext
return _trans.gettext(message)
File "C:Userscarlos.dcocoDocumentssavia-doclenvlibsite-packagesdjangoutilstranslationtrans_real.py", line 355, in gettext
_default = _default or translation(settings.LANGUAGE_CODE)
File "C:Userscarlos.dcocoDocumentssavia-doclenvlibsite-packagesdjangoutilstranslationtrans_real.py", line 268, in translation
_translations[language] = DjangoTranslation(language)
File "C:Userscarlos.dcocoDocumentssavia-doclenvlibsite-packagesdjangoutilstranslationtrans_real.py", line 155, in __init__
self._add_installed_apps_translations()
File "C:Userscarlos.dcocoDocumentssavia-doclenvlibsite-packagesdjangoutilstranslationtrans_real.py", line 196, in _add_installed_apps_translations
raise AppRegistryNotReady(
django.core.exceptions.AppRegistryNotReady: The translation infrastructure cannot be initialized before the apps registry is ready. Check that you don't make non-lazy gettext calls at import time.
Process finished with exit code 1
Редактировать:
Эта проблема была решена путем добавления следующих строк
from django.core.wsgi import get_wsgi_application
application = get_wsgi_application()
к файлу, с которым я работал
Комментарии:
1. Вы импортируете функцию gettext в любое место ваших файлов?
2. нет, где я использую его в этом коде?
3. Можете ли вы поделиться всей обратной связью? Это может подсказать вам, где
gettext
используется4. Да, конечно, я добавляю это в исходный комментарий