Подтвердить что ты не робот

Mongoengine - игнорировать дополнительные поля для проверки схемы

Я пытаюсь выполнить запрос к моей базе данных. Некоторые записи в настоящее время имеют дополнительные поля, которые не включены в мою схему модели (по ошибке, но я хочу обрабатывать эти случаи). Когда я пытаюсь запросить БД и преобразовать записи в схему, я получаю следующую ошибку:

FieldDoesNotExist
The field 'X' does not exist on the document 'Y'

Из-за дополнительных полей в базе данных, которые отличаются от схемы.

Есть ли способ игнорировать эту проверку схемы для дополнительных полей в mongoengine?

4b9b3361

Ответ 1

Чтобы игнорировать эту ошибку при добавлении дополнительных полей при загрузке данных, установите strict в False в свой мета-словарь.

class User(Document):
    email = StringField(required=True, unique=True)
    password = StringField()
    meta = {'strict': False}

Ответ 2

Я считаю, что вы хотите использовать DynamicDocument вместо Document при определении вашей модели, и это позволит игнорировать дополнительные поля в схеме db.

Ответ 3

Я думаю, что вы хотите пропустить проверку схемы, поэтому при сохранении документа

document_name.save(validate=False)