Вопросы с тегами [mongoengine]

1

голосов
0

ответ
94

Просмотры

как обрабатывать mongoengine имя поля с «-» тире в Джанго models.py

Класс Patent_document (EmbeddedDocument): мета = { 'Коллекции': 'патент', 'строгого': Ложная} UCID = Стрингфилд (требуется = True) абстрактные = EmbeddedDocumentField (Abstract) Описание = EmbeddedDocumentField (Описание) библиографические данные = EmbeddedDocumentField (Bibliographic_data ) Мой файл JSON в MongoDB есть поля, которые имеют «-» (тире) в имени поля, которое вызовет ошибку в models.py в проекте Django. Как иметь дело с особым характером, такие как «-» в имени поля, чтобы сделать это правильно? введите описание изображения введите описание изображения здесь
Honggu
1

голосов
0

ответ
97

Просмотры

python mongoengine: mongomock drop_collection does not work as expected

When using mongomock to mock mongoengine, the connection.drop_database() method do not work properly: the first time I use it, it works as expected but the second time does not work at all. The following test should be a comprehensive explanation. import mongoengine as me try: import pytest except: pass class DummyDoc(me.Document): pass def test_mongomock(): db_conn = me.connect(db='mongotest', host='mongomock://localhost') db_conn.drop_database('mongotest') dd = DummyDoc() dd.save() assert len(DummyDoc.objects()) == 1 dd = DummyDoc() dd.save() assert len(DummyDoc.objects()) == 2 # First drop_database works as expected! db_conn.drop_database('mongotest') assert len(DummyDoc.objects()) == 0 dd = DummyDoc() dd.save() assert len(DummyDoc.objects()) == 1 dd = DummyDoc() dd.save() assert len(DummyDoc.objects()) == 2 # Second drop_database does not work!! db_conn.drop_database('mongotest') assert len(DummyDoc.objects()) == 0 # Final part of Pytest output: # # Second drop_database does not work!! # db_conn.drop_database('mongotest') # > assert len(DummyDoc.objects()) == 0 # E assert 2 == 0 # E + where 2 = len([, ]) # E + where [, ] = [, ]() # E + where [, ] = DummyDoc.objects if __name__ == '__main__': test_mongomock() The script can be ran as simple python3 script or with pytest.
Riccardo Petraglia
1

голосов
0

ответ
43

Просмотры

MongoEngine - Have a 'virtual' model with complex dependencies?

У меня есть вопрос, где есть два набора пользователей для одного набора MongoEngine документов. Один из них использует наборы хочет сложные вспомогательные функции, чтобы быть частью определения документа, другой набор пользователя не может установить зависимость, что эти функции требуют. Я хочу, чтобы достичь чего-то вроде чистой модели и грязной модели, в которой пользователь может выбрать для себя, но фактическое определение документа базы данных поддерживается только в одном месте. Например CleanModel / my_document.py класс MyDocument (Документ): my_field = Стрингфилд () DirtyModel / my_document.py от CleanModel импорта MyDocument как класс _MyDocument MyDocument (_MyDocument): Защита some_function_that_relies_on_compiled_code (): Передайте использование затем может сделать: от импорта MyDocument DirtyModel или CleanModel импорта MyDocument и работа с точно таким же документом Монго. Как я уже написал выше, DirtyModel.MyDocument.objects () не может получить в документах, созданных с помощью CleanModel. Любые идеи о том, как лучше решить эту проблему? (Я не думаю, что перемещение вспомогательных методов за пределами определения документа практично в данном случае)
Vanilla_Brys
1

голосов
0

ответ
62

Просмотры

версия MongoEngine для MongoDB 3.2.20

Наша версия MongoDB должна быть повышен до 3,2 с 3,0. Эта матрица показывает нам нужна PyMongo версия будет 3.2 для работы с MongoDB 3.2. Мы будем модернизировать PyMongo 3.2. Но не уверен, какая версия MongoEngine, чтобы перейти к. MongoEngine сайт говорит 3.2+ пока не поддерживается. Любые входы, на которых MongoEngine версии, чтобы перейти к? Наши текущие версии: MongoDB: 3,0 PyMongo: 2.8.1 MongoEngine: 0.8.7 Версии обновиться: MongoDB: 3.2.20 PyMongo: 3,2 MongoEngine: Не уверен,
1

голосов
0

ответ
84

Просмотры

Конфигурация тайм-аута по умолчанию mongoengine

У меня есть Джанго проект, работающий на вершине MongoDB через mongoengine. После того, как я получил противоречивые результаты для списка querysets (object.filter () и т.д.) Я установил QuerySet для запуска без тайм-аут - по телефону queryset.timeout (False) - и что, казалось, решить эту проблему. Мои вопросы: 1. Что такое настройки по умолчанию интервалов ожидания для mongoengine? 2. Есть ли способ контролировать конфигурацию тайм-аут для mongoengine?
Avi Nehama
1

голосов
0

ответ
53

Просмотры

Есть ли способ использовать elasticsearch с mongoengine?

У меня есть проект Django с помощью mongoengine. Большая часть его использует запросы агрегации трубопроводов для выполнения сложного поиска документов. Я хочу использовать elasticsearch в этом проекте, чтобы ускорить поиск, но в основном для образовательной цели. Я знаю, что стог является хорошим способом использовать ES в Джанго проектах, но он работает только с Django ORM. Так есть ли способ использовать ES с mongoengine Джанго приложений?
vadimb
1

голосов
0

ответ
24

Просмотры

Джанго - mongoengine - Круговой импорт в модели файлах различных приложений

У меня есть 2 приложений, пользователи и коробка. Их модели содержат 2 классов каждых и ни один из классов не имеют циклическую зависимость, но файл модель имеет циклическую зависимость. Их модель как ниже # пользователей / models.py из mongoengine полого импорта, документы из boxes.models импорт * Класс Токен (Документ): идентификатор = fields.IntField (primary_key = True) ключ = fields.StringField (требуется = True) коробка = fields.ReferenceField (Box) класс пользователь (Документ): идентификатор = fields.IntField (primary_key = True) имя = fields.StringField (требуется = True) # ящики / models.py из mongoengine полого импорта, документы из users.models импорт * класс Box (Документ): идентификатор = fields.IntField (primary_key = True) имя = fields.StringField (требуется = True) класс тестирования (Документ): идентификатор = fields.IntField (primary_key = True) field1 = поля. Стрингфилд (требуется = True) field_ref = fields.ReferenceField (Пользователь) Я получаю ниже ошибки в тестировании класса при запуске NameError сервера: имя «Пользователь» не определен Что я пробовал: #Trial 1 из django.apps импорта приложений field_ref = fields.ReferenceField (apps.get_model ( 'пользователей', 'User')) #error django.core.exceptions.AppRegistryNotReady: Модели еще не загружены. #Trial 2 field_ref = fields.ReferenceField ( 'Пользователь') ИЛИ field_ref = fields.ReferenceField ( 'users.User') # Ошибка mongoengine.errors.ValidationError: ValidationError (вставка: 5b8ddef7a095d8586d2263bb) (А ReferenceField принимает только DBRef или документы: [ «пользователь»]) Я попытался решение, приведенное в других постах, а также, но не работает. Я использую Django = 1.9. Любая помощь будет очень ценна. ReferenceField (Пользователь) Я получаю ниже ошибки в тестировании класса при запуске NameError сервера: имя «Пользователь» не определен Что я пробовал: #Trial 1 из django.apps импорта приложений field_ref = fields.ReferenceField (apps.get_model ( 'пользователей », 'User')) #error django.core.exceptions.AppRegistryNotReady: Модели еще не загружены. #Trial 2 field_ref = fields.ReferenceField ( 'Пользователь') ИЛИ field_ref = fields.ReferenceField ( 'users.User') # Ошибка mongoengine.errors.ValidationError: ValidationError (вставка: 5b8ddef7a095d8586d2263bb) (А ReferenceField принимает только DBRef или документы: [ «пользователь»]) Я попытался решение, приведенное в других постах, а также, но не работает. Я использую Django = 1.9. Любая помощь будет очень ценна. ReferenceField (Пользователь) Я получаю ниже ошибки в тестировании класса при запуске NameError сервера: имя «Пользователь» не определен Что я пробовал: #Trial 1 из django.apps импорта приложений field_ref = fields.ReferenceField (apps.get_model ( 'пользователей », 'User')) #error django.core.exceptions.AppRegistryNotReady: Модели еще не загружены. #Trial 2 field_ref = fields.ReferenceField ( 'Пользователь') ИЛИ field_ref = fields.ReferenceField ( 'users.User') # Ошибка mongoengine.errors.ValidationError: ValidationError (вставка: 5b8ddef7a095d8586d2263bb) (А ReferenceField принимает только DBRef или документы: [ «пользователь»]) Я попытался решение, приведенное в других постах, а также, но не работает. Я использую Django = 1.9. Любая помощь будет очень ценна. не определен Что я пробовал: #Trial 1 из django.apps импорта приложений field_ref = fields.ReferenceField (apps.get_model ( 'пользователей', 'User')) #error django.core.exceptions.AppRegistryNotReady: Модели еще не загружены , #Trial 2 field_ref = fields.ReferenceField ( 'Пользователь') ИЛИ field_ref = fields.ReferenceField ( 'users.User') # Ошибка mongoengine.errors.ValidationError: ValidationError (вставка: 5b8ddef7a095d8586d2263bb) (А ReferenceField принимает только DBRef или документы: [ «пользователь»]) Я попытался решение, приведенное в других постах, а также, но не работает. Я использую Django = 1.9. Любая помощь будет очень ценна. не определен Что я пробовал: #Trial 1 из django.apps импорта приложений field_ref = fields.ReferenceField (apps.get_model ( 'пользователей', 'User')) #error django.core.exceptions.AppRegistryNotReady: Модели еще не загружены , #Trial 2 field_ref = fields.ReferenceField ( 'Пользователь') ИЛИ field_ref = fields.ReferenceField ( 'users.User') # Ошибка mongoengine.errors.ValidationError: ValidationError (вставка: 5b8ddef7a095d8586d2263bb) (А ReferenceField принимает только DBRef или документы: [ «пользователь»]) Я попытался решение, приведенное в других постах, а также, но не работает. Я использую Django = 1.9. Любая помощь будет очень ценна. Модели еще не загружены. #Trial 2 field_ref = fields.ReferenceField ( 'Пользователь') ИЛИ field_ref = fields.ReferenceField ( 'users.User') # Ошибка mongoengine.errors.ValidationError: ValidationError (вставка: 5b8ddef7a095d8586d2263bb) (А ReferenceField принимает только DBRef или документы: [ «пользователь»]) Я попытался решение, приведенное в других постах, а также, но не работает. Я использую Django = 1.9. Любая помощь будет очень ценна. Модели еще не загружены. #Trial 2 field_ref = fields.ReferenceField ( 'Пользователь') ИЛИ field_ref = fields.ReferenceField ( 'users.User') # Ошибка mongoengine.errors.ValidationError: ValidationError (вставка: 5b8ddef7a095d8586d2263bb) (А ReferenceField принимает только DBRef или документы: [ «пользователь»]) Я попытался решение, приведенное в других постах, а также, но не работает. Я использую Django = 1.9. Любая помощь будет очень ценна.
pratibha
1

голосов
2

ответ
650

Просмотры

Форма этикетки не рендеринга с Джанго и WTForms

Я пытаюсь использовать WTForms с Django и бэкэндом базы данных MongoEngine / MongoDB. Формы вывода правильно, но я не могу за жизнь мне получить этикетки, чтобы показать. Вот мой код шаблона: {% нагрузки wtforms%} {% для F в виде%} {{f.label}}: {% form_field е%} {% ENDFOR%} Это то, что я передаю в виде: форма = StrandForm () возвращает render_to_response ( 'create_strand.html', местные жители (), context_instance = RequestContext (запрос)) Этот StrandForm класс я пытался как создать из класса model_form в mongoengine внутреннего абонента WTForm, и из формы класса WTForm в. Метка существует в представлении, я могу распечатать его на консоль, и это показывает обработанную форму этикетки, но как-то теряется при переходе к шаблону. Я делаю что-то неправильно?
Matthias
1

голосов
2

ответ
1.2k

Просмотры

Вставки с Mongoengine работать только из оболочки, но не с точки зрения Джанго

У меня возникают странные ситуации - создание некоторых Mongoengine объект из Джанго оболочки успешно, но создание такого же объекта с точкой зрения Django выглядит успешным, но не появились какие-либо данные в MongoDB. Т.е. тот же самый код, что, как - от myapp.mongomodels импортировать MyModel т = MyModel (а = 1, B = 2, с = 3) m.save () создает новый объект, вставленный в MongoDB при работе от manage.py оболочки, и производит ничего, если не работает с точки зрения Django. Я проследил код и я вижу метод mongoengine.Document.save () правильно работает без каких-либо исключений. Похоже, я пропустил что-то очевидное. Буду благодарен за любую помощь.
Serge Tarkovski
1

голосов
1

ответ
237

Просмотры

Как совместить использование оператора всех и icontains для mongoengine

Для mongoengine, есть операторы все и icontains. Но как я могу сочетать использование их? Скажем, для каждого пункта, я просто хочу, чтобы соответствовать icontains, но не точно? Я пытался использовать регулярное выражение. Я работает, но, к сожалению, это нарушило бы, если у меня есть более чем 1 Q в QuerySet из mongoengine. Потому что он будет пытаться DeepCopy объекта шаблона, но, к сожалению, объект шаблона не был скопирован глубоко.
Chris
1

голосов
1

ответ
813

Просмотры

Загрузка файлов в DEFAULT_FILE_STORAGE вместо GridFs с mongoengine

Я хочу, чтобы иметь возможность хранить файлы в Amazon S3. FileField в mongoengine, кажется, зашит с gridfs. Что я могу сделать, чтобы достичь этого? Есть обычай FileField там, что ведет себя как регулярный Джанго FileField?
fceruti
1

голосов
1

ответ
291

Просмотры

Джанго dumpdata ОРМ + mongoengine

Я не уверен, как обрабатывать следующий случай (таким образом, на мой вопрос, очевидно). У меня есть установка Джанго с PostgreSQL, чтобы содержит все данные Джанго модели, но у меня также есть mongoengine управления (давайте назовем их) расширенные данные. У меня также есть циклическая ссылка между двумя точками (mongo_id от DJANGO модели mongoengine документа PK и db_id точек от mongoengine до DJANGO модели PK). Очевидно, что если я бегу dumpdata, я только получить данные Джанго модели. Как я могу сделать это также выгрузить данные из mongoengine? Есть ли способ для меня, чтобы достичь этого? Это, чтобы получить резервную копию данных. Резервное копирование файлов ссылочных можно легко сделать, просто захватывая файл на диске. Я не определил еще БАЗ в файле settings.py (в основном потому, что не требовалось). Это то, что мне нужно сделать? Спасибо за любые указатели. В качестве бонуса,
Danosaure
1

голосов
1

ответ
1.6k

Просмотры

Проблемы интегрирующих MongoDB и Django 1.5

Я хочу использовать MongoDB в качестве базы данных учетных записей для моего проекта Django. Хотя есть много дискуссий в сети, у меня проблемы интеграции их хорошо. Мои цели: использование по умолчанию Django (так что не Джанго-nonrel, который до сих пор 1,3) не интегрировать их так, что аутентификация поддерживается MongoDB (т.е. модель пользователя по умолчанию), а также сеансы вещь. если это возможно, до сих пор есть ORM-как система запросов Как я понимаю, что, mongoengine может удовлетворить все мои требования, но у меня возникают проблемы, что делает его работу correclty. Документы говорят, игнорировать установку DATABASES. Если бы я не указать его, Django вызывает ошибку, а если я заполняю его, Django создает эту базу данных и не использует мой экземпляр MongoDB, даже если я называю подключение () в конце файла. Когда я бегу SyncDB Django использует другую базу данных (один я, указанный в настройке базы данных) и не MongoDB. Поэтому, когда я запустить MongoDB оболочку я могу увидеть создается база данных, но только коллекция startup_log, которые я никогда не создавал, и я подозреваю, что она создается автоматически.
rubik
1

голосов
1

ответ
997

Просмотры

Counting mongoengine ListField elements

I`m с трудом мигрирующей мои модели из стандартного Django ORM с MySQL для mongoengine-ODM. У меня есть следующая модель, которая прекрасно работает в старой структуре: класс Place (документ): имя = Стрингфилд () акроним = Стрингфилд () родитель = ReferenceField ( 'я') иерархия = ListField (ReferenceField ( 'я')) hierarchy_size = IntField () @classmethod защиту preSave (экземпляр, отправитель, ** kwargs): instance.hierarchy_size = Len (instance.hierarchy) signals.pre_save.connect (Place.preSave, отправитель = место) Но при работе с новым mongoengine, я «м сталкиваются с проблемами доступа размера объектов иерархии так, как я делал раньше. Прием: Traceback (самый последний вызов последнего): Файл "", строка 1, в файле "/Users/awesome_user/workspace/awesome_project/project/models.py",
André Teixeira
1

голосов
2

ответ
343

Просмотры

Django пользовательские UsernameField форма проверки не работает

Так что я создал пользовательское поле формы для проверки повторяющихся имен пользователей. Я использую Django + Mongoengine в моей базе данных. У меня есть, что подключен и работает с системой аутентификации Джанго, так что я предполагаю, что можно получить от forms.py? Может быть, это предположение неверно. Таким образом, у меня есть класс поля UsernameField (CharField): Защита to_python (я, значение): если не значение: возвращение "" возвращаемое значение четкости проверки (самоощущение, значение): супер (CharField, самостоятельный) .validate (значение) попробуйте: # Если пользовательский объект существует, то он не будет сгенерирован пользователем Error / Exception = User.objects.get (имя пользователя = значение) поднять ValidationError ( «Имя пользователя уже существует»), за исключением: передать Но когда я использую его в своей форме,
Jared Joke
1

голосов
1

ответ
879

Просмотры

Не удалось сохранить файл в MongoDB GridFS с помощью mongoengine

Edit: с помощью Python 2.7 на Windows 7 У меня возникли проблемы сохраняющиеся данные в FileField с помощью mongoengine. Размер файла перед тем и после сохранения резко отличается. Запуск этого: от mongoengine импорта * класса Test (Документ): File = FileField () #connect к моему MongoDB подключения ( 'MyDB', хост = '192.168.0.3') Test.drop_collection () # запись в MongoDB GridFS, согласно mongoengine документация: https://mongoengine-odm.readthedocs.org/en/latest/guide/gridfs.html тест = Test () test.File.put (открытый (r'c: \ Temp \ owl.jpg '' г ')) test.save () #get экземпляр теста из БД, распечатать число байтов, согласно тесту mongoengine = Test.objects (). первая () печать test.File.length # просто чтобы убедиться, что мы не сумасшедший, проверьте размер файла на диске: печать os.path.getsize (r'c: \ Temp \ owl.jpg» ) Формирует этот выход: 864 145047 Все указатели будут оценены! Кстати, owl.jpg был спасен от следующего адреса в случае, если вы хотите, чтобы попытаться воспроизвести мой пример именно: http://getintobirds.audubon.org/sites/default/files/photos/wildlife_barn_owl.jpg
D. Reagan
1

голосов
1

ответ
2k

Просмотры

Объявление индекса MongoDB MongoEngine

У меня есть класс Document Store (документ): store_id = IntField (требуется = True) элементы = ListField (ReferenceField (пункт, требуемые = True)) мета = { 'индексы': [{ 'поля': [ 'campaign_id'], ' уникальный «: Правда}, {„поля“: [» вещи]}]} и хотим создать индексы в пунктах и ​​store_id, делает мою конфигурацию правильно?
1

голосов
1

ответ
944

Просмотры

Многопользовательское приложение Django с использованием Mongoengine

Я хочу, чтобы построить мульти архитектуру арендатора для системы SAAS. Мы используем Django как наш бэкэнд и mongoengine как наши основную базу данных и gunicorn как наш веб-сервер. Нашими клиентами являются несколько крупных компаний, поэтому количество баз данных предварительного выделения пространства не должно быть проблемой. Первый подход, который мы взяли был написать промежуточное программное обеспечение, чтобы определить источник запроса правильно подключиться к базе данных mongoengine. Вот код: класс MongoConnectionMiddleware (объект): Защита process_request (я, запрос): если request.user.is_authenticated (): mongo_connect (request.user.profile.establishment) И метод mongo_connect: Защита mongo_connect (учреждение): db_name = «db_client_% d»% establishment.id подключить (db_name) Это будет регистрировать «по умолчанию» псевдоним в качестве db_name для каждого запроса mongoengine. Но, кажется, что, когда много пользователей одновременно из разных компаний делают запросы, каждый из которых устанавливает db_name по умолчанию к его собственному имени. В качестве примера: Компания А делает запрос и подключается к базе данных A. В то время как А делает это работа компании B подключается к B. базы данных Это делает также подключиться к базе данных B в процессе, поэтому А не смог найти некоторые идентификаторы. ¿Есть ли способ, чтобы изолировать соединение с базой данных Монго каждого запроса, чтобы избежать этой проблемы?
clopez
1

голосов
1

ответ
897

Просмотры

Database error from mongoengine max_distance query

Привет У меня есть проблема с данными запросов с использованием mongoengine. Я пытаюсь сделать это так же, как и в документации, но у меня есть проблема. Я создаю две модели класса Alarm (mongoengine.Document): добавлена ​​= mongoengine.DateTimeField () название = mongoengine.StringField () отслеживает = mongoengine.ListField (mongoengine.EmbeddedDocumentField (Track)) мета = { 'индексы': [[(» tracks.location " "2dsphere")]]} класс дорожки (mongoengine.EmbeddedDocument): created_on = mongoengine.DateTimeField () местоположение = mongoengine.PointField () из оболочки Джанго я добавить одну строку: db.alarm.insert ({" название ": "Варшава", "следы": [{" расположение ": {" Тип ": "Точка", "координаты": [21,01666, 52. 233333]}}]}) Я подключаюсь к MongoDB и из оболочки я пытаюсь найти свое новое место с помощью $ вблизи:> db.alarm.find ({ 'tracks.location': {$ вблизи: {$ геометрии: { "тип ": "Точка", координаты: 18.068611, [59,329444]}, $ maxDistance: 810997}}})>> db.alarm.find ({ 'tracks.location': {$ вблизи: {$ геометрии: {" тип» : "точка", координаты: [18.068611, 59.329444]}, $ maxDistance: 810998}}}) { "_id": ObjectId ( "53ef89626dda06655a57a342"), "название": "Варшава", "следы": [{ «расположение ": { "типа": "Точка", "координаты": [21,01666, 52,233333]}}]} Возвращается результат в том, что то, что я ожидал. Первая обратный запрос ни второе не найти мое местоположение. Но я не могу получить тот же самый результат, используя mongoengine Alarm.
gameboy
1

голосов
1

ответ
1k

Просмотры

JSON сериализации Python и mongoengine объекта смешивания

json.dumps (о) преобразует собственный объект питона в JSon o.to_json () преобразует объект mongoengine, такие как документ для JSon Как преобразовать смешанный объект? например, питон ДИКТ, с объектами mongoengine как его ценности? Есть ли инструменты для этого? Или я должен создать пользовательский класс JSONEncoder? Если я переопределить кодер, может создать декодер, который реконструирует также объекты mongoengine?
Jonathan
1

голосов
1

ответ
448

Просмотры

Колба + MongoEngine: Set MongoEngine поле документа, как Unique в предварительно существующем документе

У меня есть приложение, созданный с Колба + MongoEngine и у меня есть 'User Document', как это: класс User (db.Document): имя пользователя = db.StringField имя (max_length = MAX_USERNAME_CHARS) = db.StringField (max_length = 70) # [...] электронная почта = db.EmailField (max_length = 50, требуется = True) # [...] мета = { 'индексы': [ '-created_at', 'электронная почта'], 'заказ': [ '- created_at ']} # [...] до сих пор я проверял дублирования „имя пользователя“ и „электронная почта“ в контроллере, но я до сих пор в Монго эти повторяющиеся поля для некоторых пользователей, и теперь я хочу, чтобы установить эти поля ( «Имя пользователя» и «электронная почта»), чтобы быть уникальным, не обнуляемым и требуется. Я искал на документы, и теперь я знаю, что могу сделать это йота это заявление: электронная почта = db.EmailField (max_length = 50, требуется = True, уникальный = True), но MongoEngine не установить это снова, если документ был создан раньше. Итак, я ищу способ для меня с этого времени (когда-то решил уже дубликаты) не повторно встречаются повторяющиеся поля. Приложение оно находится в производстве с большим количеством зарегистрированных пользователей. Я могу использовать Монго консоль, чтобы установить некоторый индекс или некоторые из них.
aabilio
1

голосов
1

ответ
252

Просмотры

Как определить label_attr для модели в Колба-администратор видового с использованием MongoEngine?

Я думаю, что у меня есть довольно общий случай использования, и я удивлен, как много хлопот, это дает мне. Я хочу использовать пару ключ-значение для ReferenceField в форме редактирования Колба-администратора генерируемой с помощью следующих двух классов: класс Коммюнике (db.Document): пользователи = db.ListField (db.ReferenceField (Пользователь), по умолчанию = [ ]) класс пользователь (db.Document): электронная почта = db.StringField (max_length = 255, требуется = True) Защита __unicode __ (Я): возвращение '% s' % self.id Я хочу выбрать, чтобы быть построен из ObjectId и поле электронной почты в моей модели. При отображении атрибута __unicode__ в поле ид я получаю хорошие вещи на стороне mongoengine, как с помощью всего объекта в запросах: UserInformation.objects (пользователь = current_user) Это неудачный влекущие форму Колбы-администратор для отображения Монго ObjectId в форме редактирования, как так: Документы говорят, что я должен предоставить label_attr к ModelSelectMultipleField созданного Колбы-администратор. Я сделал это путем переопределения метода get_form на моем видовую: Защиту get_form (Я): форма = супер (ModelView, самость) .get_form () form.users = ModelSelectMultipleField (модель = User, label_attr = 'электронной почты', виджет = form.users .__ ДИКТ __ [ «kwargs»] [ «виджета»]) возвращает форму я повторно использовать виджет, используемый оригинальным form.users (который может быть неправильно). Он отлично работает при редактировании существующего элемента, НО выдает исключение при создании нового (возможно, потому, что я повторное использование виджета). Все это похоже на пути больше работы, чем это должно быть необходимо просто обеспечить label_attr моего SelectField. Крепление на виде листинга был простым вопросом добавления записи в словарь column_formatters. Нет ли простой способ определить label_attr при создании моего класса видового? Я знаю, что я мог бы сделать эту проблему уйти, вернув собственность электронной почты в атрибуте __unicode__, но я чувствую, что я не должен делать это! Я что-то пропустил?
Robert Moskal
1

голосов
1

ответ
366

Просмотры

Mongoengine - JSONify EmbeddedDocumentListField

Есть простой способ вернуть EmbeddedDocumentListField в JSON массив в Mongoengine и термос? Я уже пробовал сбросить с bson.json_util, но только массив ключей без значений возвращали. У меня нет никаких изменений в фильме модели как to_json () метод и т.д.
L3K0V
1

голосов
1

ответ
499

Просмотры

Колба Mongoengine Text Search Не удается разрешить поле

Были потянув меня за волосы, пытаясь получить текстовый индекс, созданный в MongoEngine. Все мои модули, как представляется, до настоящего времени, и у меня есть текстовый поиск включен в моем MongoDB. Я даже могу создать текстовый индекс коллекции, если я использую PyMongo. Тем не менее, я хотел бы остаться в MongoEngine. Я попробовал несколько итераций моей модели, но следующее является свернула версия, которая не: класс Situs (db.Document): Streetname = db.StringField () streetnum = db.StringField () dscrptn = db.StringField () мета = { «индексы»: [{ «поля»: [ «$ Streetname»]}]} Ошибка во время выполнения является: mongoengine.errors.LookUpError: не удается разрешить поле «$ названия улицы» Есть мысли или предложения будут очень быть оценен
bcdonahoo07
1

голосов
2

ответ
897

Просмотры

Исключение Mongoengine сырого find_and_modify запрос дает «Must либо обновление или удаление»

Я использую Django + mongoengine Я хочу, чтобы обновить книги (встроенный документ) подсчитывать в моем Bookscollection документе. Я хочу, чтобы запрос на обновление, чтобы вернуть полный объект. Поэтому я использую «find_and_modify». Но даже если я использую обновление или удаление полей. Я все еще получаю ошибку, что "нужно либо обновить или удалить. Вот мой фрагмент кода - для book_id в book_list:. Book_col = BookCollection._get_collection () find_and_modify ({ 'запрос': { 'coll_id': book_coll_id 'book.book_id': book_id}, 'Обновление': { '$ вкл ': {'.. книга $ количество»: 1}}, 'новый': Правда}) Что здесь не так?
Ekwinder Saini
1

голосов
1

ответ
102

Просмотры

Оборонительные условия, когда JSON отсутствует поле в API

Я разрабатываю небольшой скрипт на Python, чтобы получить данные о погоде от forecast.io После того, как я получить документ в формате JSON, я называю класс для того, чтобы создать новую запись будет сохранена в базе данных. Проблема состоит в том, что некоторые поля (которые также атрибуты в моем классе), не всегда информированы в API, так что я должен включать в себя какой-то оборонительный код или скрипт сломается, когда поле не найдено. Я нашел ответ @Alex Мартелл, который швы довольно хорошо: Чтение из Python Dict, если ключ не может присутствовать, если вы хотите сделать что-то другое, чем при использовании значения по умолчанию (например, пропустить печать полностью, когда ключ отсутствует) , то вам необходимо немного больше структуры, т.е. либо: для г в результатах: если «key_name» в г: печать г [ «key_name»] или для г в результатах: попробуйте: печатающую г [ «kEY_NAME» ] Кроме KeyError: передать Но мне интересно, если я должен включать в себя «если» или «примерить» на каждом поле, я хочу, чтобы сохранить или там симпатичнее способ сделать это? (Я хочу, чтобы сохранить 27 полей и 27 «если» кажется некрасиво) Это код, который я до сих пор: от даты и времени импорта DateTime импорта tornado.web импорта tornado.httpclient от торнадо импорта ген из src.db.city импорта list_cities из ЦСИ .db.weather импорт погода от motorengine импорта * @ gen.coroutine четкости forecastio_api (): http_client = tornado.httpclient.AsyncHTTPClient () base_url = "https://api.forecast.io/forecast/APIKEY" выход города list_cities () для города в город: URL = base_url + "/% s,% s" % (ул (city.loc [0]), ул (city.loc [1])) ответ = выход http_client.fetch (URL) = JSON tornado.escape.json_decode (ответ.
user3159821
1

голосов
1

ответ
84

Просмотры

Как различие между атрибутом класса и экземпляра атрибута сделал для mongoengine документа?

Как различие между атрибутом класса и экземпляром атрибута сделано для классов, проходящих mongoengine документа? Все атрибуты выглядят как атрибуты класса, но при создании двух экземпляров, эти переменные не разделяются. Как оба, атрибуты класса и атрибуты экземпляра быть созданы с помощью mongoengine? ------ ------ редактировать класс пользователя (Документ): электронная почта = Стрингфилд (требуется = True) first_name = Стрингфилд (max_length = 50) last_name = Стрингфилд (max_length = 50) Это документация пример mongoengine дает для определения документа пользователя. Образом они определены, они являются атрибутами уровня класса. Тем не менее, Document.py и BaseDocument.py заботиться, что они не распределяются между экземплярами пользователя.
tunetopj
1

голосов
1

ответ
271

Просмотры

Настройки Django для MongoDB Поднимает Ошибка

Я хочу использовать MongoDB в моем приложении, и я использовал эту документацию в качестве ссылки. БАЗ = { 'по умолчанию': { 'МОТОР': 'django.db.backends.dummy'}} SESSION_ENGINE = "mongoengine.django.sessions" _MONGODB_HOST = "локальный" _MONGODB_NAME = "erayerdin_blog" _MONGODB_DATABASE_HOST = «MongoDB: // {} / {}». формат (_MONGODB_HOST, _MONGODB_NAME) mongoengine.connect (_MONGODB_NAME, хост = _MONGODB_DATABASE_HOST) либо django.db.backends.dummy или пустая строка просто вызывает ImproperlyConfigured, если я хочу, чтобы мигрировать. Как передать фиктивный двигатель в Django в любом случае? поднять ImproperlyConfigured ( «settings.DATABASES настроен неправильно.» django.core.exceptions.ImproperlyConfigured:. settings.DATABASES настроен неправильно Просьба значения двигателя. Проверьте настройки документации для получения более подробной информации. Окружающая среда Джанго 1.9.5 mongoengine 0.10.6 PyMongo 3.2.2 питон 3.5.1
Erdin Eray
1

голосов
1

ответ
35

Просмотры

Я сделал вид после подсчета с mongoengine, но он имеет очень низкую эффективность, что я могу сделать в этом процессе?

Это мой код ниже отсортированный (Db.objects.distinct ( 'CompanyID'), ключ = лямбда-S: Db.objects (CompanyID = s) .count ()) [- 10:] 1, я сделал подсчет отчетливой поле (CompanyID); 2, я сделал вид его выше; 3, то я беру 10 из отсортированного списка подсчета. Этот код занимает слишком много раз, что я не могу принять, что я должен знать? Нужен ли мне индекс в MongoDB? нужна помощь!
Kevin Gao
1

голосов
1

ответ
1.4k

Просмотры

Сохранить ссылку на поле mongoengine

Упрощенный, у меня есть 2 объекта документа: ресурсные и класс Кабель (db.Document): _id = db.ObjectIdField () розетка = db.EmbeddedDocumentField (Socket) Класс ресурсов (db.Document): _id = db.StringField () кабель = db.ReferenceField ( «Cable») Оба документа уже в БД, но поле кабеля в ресурсе устанавливается нулевое значение. @ Resources.route ( '// add_cabling', методы = [ 'GET']) Защиту set_connector (R_ID):. Г = Resource.objects (ID = R_ID) .get () с = Cable.objects () первый () r.cable = с r.save () возвращает jsonify (г) Итак, я передаю экземпляр документа кабеля к экземпляру ресурса, а затем сохранить (). Ошибка, я получаю следующее: ValidationError: ValidationError (Ресурс: res01) (A ReferenceField принимает только DBRef или документы: [ «кабель»]) Я не»
adefabritiis
1

голосов
1

ответ
82

Просмотры

Реально ли объединить Mongoengine в Django дерева в качестве серверной базы данных с архитектурной точки зрения?

Я люблю Django и вообще предпочел бы это микро-основы, так что я не изобретать велосипед, а использовать батареи включены. Я в основном полагаться на Django REST Framework для создания REST API, и на самом деле не использовать туда-обратно часть Джанго (например, шаблоны и формы). Но я отчаянно нуждаюсь в поддержке MongoDB для моих проектов. Во многих областях, таких как биоинформатика, вы должны использовать глубоко вложенные JSONs. Есть 2 способа решения этого в чистом Django: Представляют вложенные данные JSON как реляционные таблицы, которая является огромной тратой времени. Используйте JSONField для вложенных данных JSON - костыль, потому что часто необходимо задать схему для тех JSONs (которые вы должны делать на уровне приложений) или использовать гиперссылки или другие сложные поля в этих данных в формате JSON (что невозможно). There'a довольно популярная библиотека, mongoengine, который строго следует Django ORM API. Я чувствую, что это должно было быть частью Django. Но использовать его с Django до сих пор, вы должны повторно реализовать каждый бит интеграции самостоятельно (аутентификации, команды управления, Django REST Framework интеграции и т.д.). Так, я думал: в чем проблема? Почему мы не можем интегрировать Mongoengine в Django раз и навсегда, как другой базы данных учетных записей? Django уже Postgres специфических полей. Почему мы не можем просто Монго-конкретнее? Единственное препятствие, я могу видеть это архитектурное проектирование Django, которые могут иметь сильные предположения о характере базы данных SQL-иш и несовместимым с Монго. Если вы хорошо архитектуры Django, вы можете поделиться своими соображениями о целесообразности этой интеграции попытки? Но использовать его с Django до сих пор, вы должны повторно реализовать каждый бит интеграции самостоятельно (аутентификации, команды управления, Django REST Framework интеграции и т.д.). Так, я думал: в чем проблема? Почему мы не можем интегрировать Mongoengine в Django раз и навсегда, как другой базы данных учетных записей? Django уже Postgres специфических полей. Почему мы не можем просто Монго-конкретнее? Единственное препятствие, я могу видеть это архитектурное проектирование Django, которые могут иметь сильные предположения о характере базы данных SQL-иш и несовместимым с Монго. Если вы хорошо архитектуры Django, вы можете поделиться своими соображениями о целесообразности этой интеграции попытки? Но использовать его с Django до сих пор, вы должны повторно реализовать каждый бит интеграции самостоятельно (аутентификации, команды управления, Django REST Framework интеграции и т.д.). Так, я думал: в чем проблема? Почему мы не можем интегрировать Mongoengine в Django раз и навсегда, как другой базы данных учетных записей? Django уже Postgres специфических полей. Почему мы не можем просто Монго-конкретнее? Единственное препятствие, я могу видеть это архитектурное проектирование Django, которые могут иметь сильные предположения о характере базы данных SQL-иш и несовместимым с Монго. Если вы хорошо архитектуры Django, вы можете поделиться своими соображениями о целесообразности этой интеграции попытки? Я думал: в чем проблема? Почему мы не можем интегрировать Mongoengine в Django раз и навсегда, как другой базы данных учетных записей? Django уже Postgres специфических полей. Почему мы не можем просто Монго-конкретнее? Единственное препятствие, я могу видеть это архитектурное проектирование Django, которые могут иметь сильные предположения о характере базы данных SQL-иш и несовместимым с Монго. Если вы хорошо архитектуры Django, вы можете поделиться своими соображениями о целесообразности этой интеграции попытки? Я думал: в чем проблема? Почему мы не можем интегрировать Mongoengine в Django раз и навсегда, как другой базы данных учетных записей? Django уже Postgres специфических полей. Почему мы не можем просто Монго-конкретнее? Единственное препятствие, я могу видеть это архитектурное проектирование Django, которые могут иметь сильные предположения о характере базы данных SQL-иш и несовместимым с Монго. Если вы хорошо архитектуры Django, вы можете поделиться своими соображениями о целесообразности этой интеграции попытки? которые могут иметь сильные предположения о SQL-иш природы базы данных и быть несовместимы с Монго. Если вы хорошо архитектуры Django, вы можете поделиться своими соображениями о целесообразности этой интеграции попытки? которые могут иметь сильные предположения о SQL-иш природы базы данных и быть несовместимы с Монго. Если вы хорошо архитектуры Django, вы можете поделиться своими соображениями о целесообразности этой интеграции попытки?
Boris Burkov
1

голосов
1

ответ
349

Просмотры

How to write queries in python script

Data : { "Fruit": "Pomegranate", "District": "Nasik", "Taluka": "Nasik", "Revenue circle": "Nasik", "Sum Insured": 28000, "Area": 1200, "Farmer": 183 } { "Fruit": "Pomegranate", "District": "Jalna", "Taluka": "Jalna", "Revenue circle": "Jalna", "Sum Insured": 28000, "Area": 120, "Farmer": 13 } { "Fruit": "Guava", "District": "Pune", "Taluka": "Haveli", "Revenue circle": "Uralikanchan", "Sum Insured": 50000, "Area": 10, "Farmer": 100 } { "Fruit": "Guava", "District": "Nasik", "Taluka": "Girnare", "Revenue circle": "Girnare", "Sum Insured": 50000, "Area": 75, "Farmer": 90 } { "Fruit": "Banana", "District": "Nanded", "Taluka": "Nandurbar", "Revenue circle": "NandedBK", "Sum Insured": 5000, "Area": 2260, "Farmer": 342 } { "Fruit": "Banana", "District": "Jalgaon", "Taluka": "Bhadgaon", "Revenue circle": "Bhadgaon", "Sum Insured": 5000, "Area": 220, "Farmer": 265 } I want to write queries in a single python script for all types of combinations in this data which gives me exact output what we want. For example: Suppose we want output only for fruit=Banana in Jalgaon district only, so that gives me exact output. Suppose we want output in which district number of farmers are more than 100 , then that gives exact output. Suppose we want output only for district=Pune, then that query gives exact output.likewise. Any hints? How do I write queries to solve this? Code I tried: import pymongo connection = pymongo.MongoClient("mongodb://localhost") db=connection.book record1 = db.book_collection cursor = record1.find({"Fruit":"Banana"},{"Fruit":True, "_id":False, "Farmer":True}) for doc in cursor: print doc # but there I need one python file for one query
Kiran Prajapati
1

голосов
1

ответ
258

Просмотры

Trying to access a reference to a subclass of an abstract class

The relevant classes in my setup: class Menu(DynamicDocument): date = DateTimeField(required=True, unique=True) ... items = ListField(ReferenceField('MenuItem', required=True, reverse_delete_rule=CASCADE)) def __repr__(self): return '' % self.date class MenuItem(DynamicDocument): meta = { 'abstract': True } @staticmethod def get_class_type(payload): if payload == 'url': return MenuItemURL elif payload == 'string': return MenuItemOrdinary raise ValueError('Unknown payload type for menu item') class MenuItemOrdinary(MenuItem): name = StringField(required=True) special = ListField(StringField(min_length=1, max_length=30), required=False) def __repr__(self): return '' % self.name class MenuItemURL(MenuItem): url = URLField(required=True) def __repr__(self): return '' % self.url I'm trying to access the items field in the document with the code: menu = Menu.objects.get(date=viewdate) print menu print menu.items which yields an error: Menu object ... File "/home/user/ll/venv/local/lib/python2.7/site-packages/mongoengine/dereference.py", line 148, in _fetch_objects object_map[(collection, doc.id)] = doc AttributeError: 'MenuItem' object has no attribute 'id' When I look at the db entry, I can see that the items field indeed has an array of references to documents that exist in the database: Any ideas what's the culprit? I'm thinking it has something to do with the fact that MenuItem is an abstract class, perhaps related to this issue. I'm running flask-mongoengine==0.9.3 flask-restplus==0.10.1 mongoengine==0.13.0 pymongo==3.4.0
amergin
1

голосов
1

ответ
256

Просмотры

Как создать индекс для ReferenceField mongoengine

Я хочу создать индекс для ReferenceField поэтому запрос может работать быстрее, но я не знаю, как сделать это с mongoengine, определив, что в мета-свойство класса: Вот код Сообщение документа я написал: класс Поста (Документ): пробкового = Стрингфилд (max_length = 60, требуется = True) содержание = Стрингфилд (требуется = True) user_id = ReferenceField (document_type = 'User', dbref = True, требуется = True) published_at = DateTimeField (по умолчанию = datetime.now, требуется = True) updated_at = DateTimeField (по умолчанию = datetime.now, требуется = True) мета = { 'коллекция': 'social_posts', 'индексы': [ 'user_id $ ID']}. Когда я пытаюсь создать индекс для user_id $ идентификатор, который является способом ReferenceField хранится в MongoDB, бросает ошибку ниже: mongoengine.errors.LookUpError:Невозможно выполнить объединение в MongoDB: user_id __ $ ID
Rohit Khatri
1

голосов
1

ответ
348

Просмотры

Колба-Логин перенаправлять обратно на страницу входа

Я пишу простое приложение склянки с помощью склянки-логин и склянки-mongoengine, все работает отлично, пока я обновил все питона плагинов, которые мне нужно для проекта. Теперь колба не будет регистрировать меня в Когда я логин и форма утверждена, она возвращает меня на страницу входа в систему, с URL:. Http: // локальный: 5000 / авт / войти в следующий =% 2Findex ... Я думаю,% 2F может иметь что-то делать с этим вопросом. Вот мое мнение Логин: @ bp.route ( '/ логин', методы = [ 'GET', 'POST']) Защиту Логин (): если current_user.is_authenticated: обратный редирект (url_for ( 'main.index')) форма = LoginForm (), если form.validate_on_submit (): пользователь = User.objects (username__exact = form.username.data) .first (), если пользователь не является None или нет user.check_password (form.password.data): вспышка (_ ('Неправильное имя пользователя или пароль'
Drew M
1

голосов
2

ответ
678

Просмотры

mongoengine - RuntimeError: generator raised StopIteration

У меня есть приложение, колба-mongoengine и у меня есть проблема, когда получившие серьёзная я хочу перебрать объект mongoengine QuerySet. Вот код для моего объекта mongoengine: mongo_models: класс Кандида (Документ): candid_intent_id = Стрингфилд () ID_LIST = ListField (Стрингфилд ()) custom_code = Стрингфилд () is_approved = BooleanField () Защита to_json (самоповреждения, * арг, ** kwargs): возвращение { 'candid_intent_id': self.candid_intent_id 'ID_LIST': self.id_list 'custom_code': self.custom_code 'is_approved': self.is_approved} и я хочу, чтобы перебирать их, как это: candid_list: custom_code = query_set 'Bob' = Candid.objects (is_denied = False, custom_code = current_request.custom_code) попробовать: для откровенен в query_set: suggested_intent_list.append (откровенен. to_json ()), если не candid.is_approved: suggested_intent_count + = 1, за исключением StopIteration: возвращение «StopIteration ошибки» теперь вот загвоздка: когда запускаю мой код (с питоном 3.5.2) с использованием локального сервера Монго он отлично работает (будь Откровенный коллекция пуста или нет), но я развернуть код на dockerized сервере (с питоном 3.7.0) я получаю следующее Runtime Ошибка: Файл «/controller.py», строка 25, в течение откровенен в query_set: RuntimeError: генератор поднятый StopIteration кстати, mongoengine версия одинакова для местных и Докер запуска сервера: mongoengine == 0.15.0. скажите, пожалуйста, если я должен предоставить более подробную информацию, а также любая помощь будет в значительной степени appriciated. теперь вот загвоздка: когда запускаю мой код (с питоном 3.5.2) с использованием локального сервера Монго он работает отлично (пуст ли Откровенный сбор или нет), но я развернуть код на dockerized сервере (с питоном 3.7.0 ) Я получаю следующее Runtime Ошибка: Файл «/controller.py», строка 25, в течение откровенен в query_set: RuntimeError: генератор поднял StopIteration кстати, mongoengine версия одинакова для местных и запустить сервер докер: mongoengine == 0.15.0 , скажите, пожалуйста, если я должен предоставить более подробную информацию, а также любая помощь будет в значительной степени appriciated. теперь вот загвоздка: когда запускаю мой код (с питоном 3.5.2) с использованием локального сервера Монго он работает отлично (пуст ли Откровенный сбор или нет), но я развернуть код на dockerized сервере (с питоном 3.7.0 ) Я получаю следующее Runtime Ошибка: Файл «/controller.py», строка 25, в течение откровенен в query_set: RuntimeError: генератор поднял StopIteration кстати, mongoengine версия одинакова для местных и запустить сервер докер: mongoengine == 0.15.0 , скажите, пожалуйста, если я должен предоставить более подробную информацию, а также любая помощь будет в значительной степени appriciated. в течение откровенно в query_set: RuntimeError: генератор повышенной StopIteration BTV, mongoengine версия одинакова для местного и Докера запуска сервера: mongoengine == 0.15.0. скажите, пожалуйста, если я должен предоставить более подробную информацию, а также любая помощь будет в значительной степени appriciated. в течение откровенно в query_set: RuntimeError: генератор повышенной StopIteration BTV, mongoengine версия одинакова для местного и Докера запуска сервера: mongoengine == 0.15.0. скажите, пожалуйста, если я должен предоставить более подробную информацию, а также любая помощь будет в значительной степени appriciated.
Ho'jat Kaveh
1

голосов
1

ответ
513

Просмотры

Mongoengine DeprecationWarning: вставка осуждается

Я использую mongoengine для MongoDB операций в моем проекте. Я не получил предупреждение, как это раньше. DeprecationWarning: вставка осуждается. Используйте insert_one или insert_many вместо этого я получаю предупреждение из-за линии, как показано ниже класса Human (Документ): Имя = Стрингфилд () Human.objects.insert ([Human (имя = 'Steve'), Человек (имя = 'Jack') , Человек (имя = «Chris»)]) Как я понимаю, это Human.objects.insert () является устаревшим в новой версии, но я не могу найти insert_many () вместо этого. Моя программа по-прежнему работает, но я не могу решить эту ошибку. Спасибо за ваше помогает.
melikesahin
1

голосов
1

ответ
39

Просмотры

flask_mongo_engine как постраничной заказ create_time по алфавиту?

класс Session (db.DynamicDocument): название = db.StringField (требуется = False) создано = db.FloatField (требуется = True) источник = db.StringField () @ app.route ( '/ страница /') Защита сессии (страница ): возвращение jsonify (Session.objects.paginate (страница = страница, per_page = 5) .items) отклик список Словаре, который заказывается ASC и первая страница содержит самые старые документы по умолчанию. Итак, как получить результат заказа по убыванию?
Chweng Mega
1

голосов
1

ответ
0

Просмотры

Сохранение и обновление вложенных документов с MongoEngine

Я хочу, чтобы реализовать эту структурную модель, чтобы хранить мои данные по MongoDB с MongoEngine на колбе: навыки = [{ «ассемблерном»: «Ассамблея», «флаг»: Ложная «дата»: DATETIME}, { «Java»: "Java »,„флаг“: false,„дата“: дата и время}] Так что я не знаю, как я могу объявить и обновить этот вид структуры. Для обновления одного объекта я использовал: User.objects (навыки = form.skills.data) .update_one () Тем не менее, я не знаю, как обновить несколько полей в одном кадре. Я попытался с кодом ниже, но она не работает. Теперь = datetime.now () User.objects (навыки = form.skills) .update_one (set__skills = ({ 'рубин': 'Рубин'}, { 'флаг': 'правда'}, { 'дата': в настоящее время} )) Какие поля я должен объявить о forms.py?
1

голосов
1

ответ
0

Просмотры

Преобразование mongoengine QuerySet в файл JSon

Как сбросить данные в QuerySet из Mongo документов в файл .json с помощью Python? Я пытался использовать Джанго сериалайзер, но не работает, как поля не доступны в Джанго так же, как они доступны в Монго. для модели в моделях: json_serializer.serialize (model.objects.all (), абзац = 2, поток = output_file_mongo) Я также пытался использовать питон JSON кодирование / декодирование, импорт JSON для модели в mongo_models: output_file_mongo.write (json.dumps (model.objects.all ())) я получаю исключение Файл "/usr/lib/python2.7/json/__init__.py", строка 231, в отвалы вернуть _default_encoder.encode (OBJ) Файл «/ USR / Lib /python2.7/json/encoder.py», строка 201, в закодировать куски = self.iterencode (о, _one_shot = True) Файл "/usr/lib/python2.7/json/encoder.py", строка 264, в iterencode вернуться _iterencode (о,
Thrax

Просмотр дополнительных вопросов