I am trying to create a document object using the from_json method. object.save () does not throw an error, but the document is not inserted into mongo.
On the other hand, if I create an object by assigning values to each of the fields, it works fine.
I can not find the reason for this. Below is the code for both cases.
from flask import Flask from flask.ext.mongoengine import MongoEngine import json, datetime app = Flask(__name__) app.config["MONGODB_SETTINGS"] = {'DB': 'test','host': 'localhost'} app.config["SECRET_KEY"] = "mySecretKey" db = MongoEngine(app) class User(db.Document): user_id = db.StringField(max_length=16, primary_key = True) username = db.StringField(min_length=8) email = db.EmailField(required = True, unique = True) password = db.StringField(required = True) date_of_birth = db.DateTimeField() gender = db.StringField(choices = ('M', 'F')) ''' This one works. This will add a user in local mongodb(test) ''' u1 = User() u1.username = 'test12345' u1.user_id = 'testid12345' u1.email = 'test@test.com' u1.password = 'testerpass' u1.save() ''' This one doesn't works. ''' u2 = User() temp_json = {'username':'test2_12345','user_id':'testid2@12345','password':'testerpass2','email':'test2@test.com'} u2 = u2.from_json(json.dumps(temp_json)) u2.save()
python mongodb pymongo mongoengine flask-mongoengine
Babbartushar
source share