{ "info": { "author": "GlobalStudio", "author_email": "contacto@globalstudio.es", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Programming Language :: Python :: 2", "Programming Language :: Python :: 3" ], "description": "pymongodm\n=========\n\npymongodm is a odm respecting pymongo functionality and adds\nfunctionality such as model validation.\n\nchange your current orm by pymongodb.\n\nBefore:\n\n.. figure:: http://i.imgur.com/8TTqJ9h.jpg\n :alt: Imgur\n\n Imgur\n\nAfter:\n\n.. figure:: http://i.imgur.com/NDna9Wp.jpg\n :alt: Imgur\n\n Imgur\n\nhttps://pypi.python.org/pypi/pymongodm\n\ninstall\n-------\n\n::\n\n pip install pymongodm\n\nconnect db\n----------\n\n\\`\\`\\`python import pymongodm\n\npymongodm.connect('name\\_db') \\`\\`\\`\n\nor\n\n\\`\\`\\`python import pymongodm import pymongo\n\ndb = pymongo.MongoClient()['name\\_db'] pymongodm.connect(db) \\`\\`\\`\n\nuse db\n------\n\n\\`\\`\\`python import pymongodm\n\npymongodm.connect('example\\_db')\n\n# Identical to pymongo pymongodm.db.nice\\_collection.insert({'name':\n'pepis'}) print(pymongodm.db.nice\\_collection.find\\_one()) \\`\\`\\`\n\nuse models!\n-----------\n\nIn version 2.0.0 change schema validator to cerberus (http://python-cerberus.org)\n=================================================================================\n\n\\`\\`\\`python import pymongodm pymongodm.connect(\"gstudio\")\n\nfrom pymongodm.models import Base\n\nclass User(Base): schema = {\"name\": {'type': 'string'}, \"other\":\n{'type': 'list', 'required': False}} # optional, default is class\\_name\n+ s collection\\_name = \"random\\_name\"\n\n::\n\n def cut_name(self):\n return self.name[:3]\n\ninsert\n======\n\nresult = User({'name': 'pepito'}) print(\"id in db\", result.\\_id)\n\nconvert dict to object Model\n============================\n\na = User({'\\_id': result.\\_id, 'name': result.name}) b =\nUser(result.getattrs()) # get attrs return only db attrs c =\nUser(result.get\\_clean()) # not return except arguments (exclude\\_view )\nd = User.find\\_one({'\\_id': result.\\_id}) # normal query\n\nconvert result finds to model\n=============================\n\nresults = pymongodm.db.users.find().model(User) # or results =\nUser.collect.find().model(User) # or result = User(id) # or result =\nUser.find()\n\nfor result in results: print(result.\\_id) print(result.name)\nprint(result.cut\\_name())\n\nModify values\n=============\n\nresults = pymongodm.db.users.find().model(User) for result in results:\nresult.name = \"Pymongodm\\_%s\" % result.name result.other = [\"random\",\n\"info\"] result.update()\n\nRemove\n======\n\nresult.remove()\n\n\\`\\`\\`\n\nModels options\n~~~~~~~~~~~~~~\n\nuse other collection\n^^^^^^^^^^^^^^^^^^^^\n\nby default the name of the collection is the name of the class + s. It\ncan be changed with the following argument: collection =\n\"encoding\\_profiles\"\n\nhidden arguments in returns\n^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\nexclude\\_view = ['name']\n\nRewrite basic methods\n---------------------\n\nOnly need declare identic name in your class\n\n.. code:: python\n\n \n class User(Base):\n schema = {\"name\": {'type': 'string'},\n \"other\": {'type': 'list', 'required': False}}\n # optional, default is class_name + s\n collection_name = \"random_name\"\n\n def remove(self):\n print(\"uhm ...\")\n\nPlugins\n=======\n\ncreate new Plugins\n------------------\n\n.. code:: python\n\n from pymongodm.models.plugins import Plugin\n\n\n class new_schemaValidation(Plugin):\n def __check(self, query):\n print(query.fields) # all values\n return {'success': False,\n 'errors': {'example': 'yep'}}\n\n def pre_create(self, query):\n return self.__check(query)\n\n def pre_update(self, query):\n return self.__check(query)\n\n def post_create(self, query):\n pass\n\n def post_update(self, query):\n pass\n\nuse new plugin\n--------------\n\n.. code:: python\n\n class User(Base):\n plugins = [new_schemaValidation]\n schema = {\"name\": {'type': 'string'},\n \"other\": {'type': 'list', 'required': False}}\n\n\n- 2.0.3 (23-05-2017)\n- add find() and find\\_one()\n\n- 2.0.2 (24-03-2017)\n- support unset\n\n- 2.0.1 (6-02-2017)\n- Hack support ObjectId\n- Fix minor bugs\n\n- 2.0.0 (29-12-2016)\n- (!!) Changed validation system to cerberus\n (http://python-cerberus.org) check README.md\n\n- 1.0.8 (12-12-2016)\n- Support insert id by create method\n\n- 1.0.7 (03-12-2016)\n- Avoid recursive validation (inspect\\_recursive=False)\n\n- 1.0.6 (10-11-2016)\n- Fix .model in find method\n\n- 1.0.5 (05-10-2016)\n- Fix remove item\n\n- 1.0.4 (29-9-2016)\n- support custom\\_id\n\n- 1.0.3 (28-9-2016)\n- automatic creation\n\n1.0.2 (18-7-2016)\n=================\n\n- add method insert()\n\n1.0.1 (12-7-2016)\n=================\n\n- remove prints\n\n1.0.0 (12-7-2016)\n=================\n\n- auto\\_get = True\n- disable automatic discover cache\n- if you use auto\\_get = False must make a .get() to get the data in\n the class\n- Add support Python 2\n\n0.1.0 (11-7-2016)\n=================\n\n- Add collect property\n\n0.0.5 (11-7-2016)\n=================\n\n- fix require=False and value None\n\n0.0.4 (6-6-2016)\n================\n\n- Update readme\n\n0.0.3 (6-6-2016)\n================\n\n- Update readme\n- Fix minor bugs\n\n0.0.2 (3-6-2016)\n================\n\n- Fix pip install\n\n0.0.1 (3-6-2016)\n================\n\n- Initial version\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/GlobalStudioES/pymongodm", "keywords": "globalstudio", "license": "GPL", "maintainer": "", "maintainer_email": "", "name": "pymongodm", "package_url": "https://pypi.org/project/pymongodm/", "platform": "", "project_url": "https://pypi.org/project/pymongodm/", "project_urls": { "Homepage": "https://github.com/GlobalStudioES/pymongodm" }, "release_url": "https://pypi.org/project/pymongodm/2.0.6/", "requires_dist": null, "requires_python": "", "summary": "pymongodm", "version": "2.0.6" }, "last_serial": 3816356, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "03bc041e3a583eb4d0f72577302e5a2a", "sha256": "afbf72a9506215689f8ba55cb05b059fd04c5a109acb29882c57f9b5b4618dea" }, "downloads": -1, "filename": "pymongodm-0.0.1.tar.gz", "has_sig": false, "md5_digest": "03bc041e3a583eb4d0f72577302e5a2a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3532, "upload_time": "2016-06-03T12:49:31", "url": "https://files.pythonhosted.org/packages/4a/47/d1858900d5ed702dadd272476e4940669736f68ed6bbcd735f3860459909/pymongodm-0.0.1.tar.gz" } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "71560af8d77d70b2c8462f6e5c3b8cc6", "sha256": "ef48415fb37bf248e51bd772675240ae364dd30a4b4df57ece2e61e362ac4275" }, "downloads": -1, "filename": "pymongodm-0.0.2.tar.gz", "has_sig": false, "md5_digest": "71560af8d77d70b2c8462f6e5c3b8cc6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3795, "upload_time": "2016-06-03T13:02:39", "url": "https://files.pythonhosted.org/packages/df/09/9abca2feb64b068a8751486fd67a3278813346f3b4fb88a19e8377d1de07/pymongodm-0.0.2.tar.gz" } ], "0.0.3": [ { "comment_text": "", "digests": { "md5": "44a4f3e48cf48998bca9b11e119b039c", "sha256": "10e45f3df79df9e2ee378f72a625dab218bd964c8c61fe5bfecc5257f35c19d6" }, "downloads": -1, "filename": "pymongodm-0.0.3.tar.gz", "has_sig": false, "md5_digest": "44a4f3e48cf48998bca9b11e119b039c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4881, "upload_time": "2016-06-06T09:42:34", "url": "https://files.pythonhosted.org/packages/f1/4e/98546bdbd81fdeb4ea4e3aa2a2160700f521a7daeeb757ac565f8cdf5145/pymongodm-0.0.3.tar.gz" } ], "0.0.4": [ { "comment_text": "", "digests": { "md5": "50551a3aec4e12f76f698e7a041162e8", "sha256": "7912a31e5c2dc4f0f997f94a16d29b1f7dd7bc945b2d2c31e1e7dacbfcba0b38" }, "downloads": -1, "filename": "pymongodm-0.0.4.tar.gz", "has_sig": false, "md5_digest": "50551a3aec4e12f76f698e7a041162e8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4950, "upload_time": "2016-06-06T09:47:12", "url": "https://files.pythonhosted.org/packages/a6/0b/5d29f5f5a340b4430ac5b62dc48a3a968cf2950df2b632b2910cba9bbf22/pymongodm-0.0.4.tar.gz" } ], "0.0.5": [ { "comment_text": "", "digests": { "md5": "2d409d28e9405f9988f447a6dfd8a6f6", "sha256": "3bafda70380ae8e4deabb8d6a8cde03d7d9178b4056b35f78c8a11689283a19b" }, "downloads": -1, "filename": "pymongodm-0.0.5.tar.gz", "has_sig": false, "md5_digest": "2d409d28e9405f9988f447a6dfd8a6f6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5480, "upload_time": "2016-07-11T11:54:08", "url": "https://files.pythonhosted.org/packages/ce/b8/ea3fa5c4228e98ae32154e2d2313a322f71eb50017ab5b4fcc7b46a8fab0/pymongodm-0.0.5.tar.gz" } ], "0.1.0": [ { "comment_text": "", "digests": { "md5": "b4a1533e3b62c96e73c1b52d45bebdb2", "sha256": "514f2730a3c44db096d3710a0cabf6f6103c35de3bac5329de50a179d58c3335" }, "downloads": -1, "filename": "pymongodm-0.1.0.tar.gz", "has_sig": false, "md5_digest": "b4a1533e3b62c96e73c1b52d45bebdb2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5559, "upload_time": "2016-07-11T16:42:21", "url": "https://files.pythonhosted.org/packages/fc/31/18ea2565a204b1269fb8ad2659b3e097bb39df8d3761b3766d0b5af08f9e/pymongodm-0.1.0.tar.gz" } ], "1.0.0": [ { "comment_text": "", "digests": { "md5": "77c65971fc306b94e3ad8188efd3ea10", "sha256": "9a169872370b4714ac41b3fef1f429e410cbfc38e0e830b922411c37d8a58468" }, "downloads": -1, "filename": "pymongodm-1.0.0.tar.gz", "has_sig": false, "md5_digest": "77c65971fc306b94e3ad8188efd3ea10", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5672, "upload_time": "2016-07-12T06:59:20", "url": "https://files.pythonhosted.org/packages/3a/cd/43b81ce1612237e32866678d9fe8e47fac5eedb392dc7b11d0c2e5def941/pymongodm-1.0.0.tar.gz" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "8f7f4d3cba2d903f8f74985ceca9cc81", "sha256": "9189cafd2a80eeb50c81a72e3d10ab2943cefd1c22221957cae588df97f9e4d8" }, "downloads": -1, "filename": "pymongodm-1.0.1.tar.gz", "has_sig": false, "md5_digest": "8f7f4d3cba2d903f8f74985ceca9cc81", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5664, "upload_time": "2016-07-12T07:01:36", "url": "https://files.pythonhosted.org/packages/ae/c3/1ffeb7e01fff8820e3f57c742f4a5530d0d8491f3e330e2843520818e7f4/pymongodm-1.0.1.tar.gz" } ], "1.0.2": [ { "comment_text": "", "digests": { "md5": "0db5cc4810c3c002bc54fb91c0e78ccd", "sha256": "c172664ff71506866d88d6c4c3c4f70ce7557d6f02676d5a497f08681dad2413" }, "downloads": -1, "filename": "pymongodm-1.0.2.tar.gz", "has_sig": false, "md5_digest": "0db5cc4810c3c002bc54fb91c0e78ccd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5707, "upload_time": "2016-07-18T08:39:38", "url": "https://files.pythonhosted.org/packages/d4/f3/8b2329696524fd7de0c899e3fb11b79336093668fa88cd2822400fc11592/pymongodm-1.0.2.tar.gz" } ], "1.0.3": [ { "comment_text": "", "digests": { "md5": "adbbd749f93c310ffa4e5dc1182bfde5", "sha256": "12cc1a521bb3fb255c5fa0f87cc63d36f4cdc42479cfbd270a274cb8393b1e53" }, "downloads": -1, "filename": "pymongodm-1.0.3.tar.gz", "has_sig": false, "md5_digest": "adbbd749f93c310ffa4e5dc1182bfde5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5748, "upload_time": "2016-09-28T12:01:03", "url": "https://files.pythonhosted.org/packages/fa/56/9a41dcde65a679624fa9a2076b989f1e1a1a9266ffb19c303fa9a9db3df3/pymongodm-1.0.3.tar.gz" } ], "1.0.4": [ { "comment_text": "", "digests": { "md5": "e16281a506ba7470d0fd5cf7b2098444", "sha256": "2e5166e33d26187cd01c9f48d4129a8c65ecc29ea848adcdd4883b99297601ce" }, "downloads": -1, "filename": "pymongodm-1.0.4.tar.gz", "has_sig": false, "md5_digest": "e16281a506ba7470d0fd5cf7b2098444", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5867, "upload_time": "2016-10-03T12:23:17", "url": "https://files.pythonhosted.org/packages/fe/4c/24baa30910596b283e333b7a5fe56102ae7f95462827648cf9be40c09104/pymongodm-1.0.4.tar.gz" } ], "1.0.5": [ { "comment_text": "", "digests": { "md5": "39369c26fefe517d9597e45de37b956f", "sha256": "b6e45196edda4806baaaf2553a053519b3d69a373a898a4ed78081991c58ef00" }, "downloads": -1, "filename": "pymongodm-1.0.5.tar.gz", "has_sig": false, "md5_digest": "39369c26fefe517d9597e45de37b956f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5890, "upload_time": "2016-10-05T14:52:22", "url": "https://files.pythonhosted.org/packages/b3/bb/67a58e0ffc173076685ca407e314b7465603dad555196f1f4cecc27d62ac/pymongodm-1.0.5.tar.gz" } ], "1.0.6": [ { "comment_text": "", "digests": { "md5": "e7b0faa0a78ebb8d6ae7d1447e20905c", "sha256": "ca3fd9b429db944f09fd068a002a90bb0dd354dd725443d967a7e7db3878dd7e" }, "downloads": -1, "filename": "pymongodm-1.0.6.tar.gz", "has_sig": false, "md5_digest": "e7b0faa0a78ebb8d6ae7d1447e20905c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5917, "upload_time": "2016-11-10T16:58:53", "url": "https://files.pythonhosted.org/packages/ab/4e/b3a80d613f4d18bce6cc2fd2aace9a8915e5fc5f09775b1b46558ae9e082/pymongodm-1.0.6.tar.gz" } ], "1.0.7": [ { "comment_text": "", "digests": { "md5": "0367ac06cb1cfb8e7f015dd3bbd8524f", "sha256": "37fd8631edc24c61417287e981f64c36656482fe1de555514408c65dc752d9a6" }, "downloads": -1, "filename": "pymongodm-1.0.7.tar.gz", "has_sig": false, "md5_digest": "0367ac06cb1cfb8e7f015dd3bbd8524f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6047, "upload_time": "2016-12-03T18:23:29", "url": "https://files.pythonhosted.org/packages/d0/f9/7f655b8a7ba37473d4f83b14b59f3774b0f68dac3a125d5a0b67f31961d7/pymongodm-1.0.7.tar.gz" } ], "1.0.8": [ { "comment_text": "", "digests": { "md5": "6c65202575a7924baa1193731f2f8e76", "sha256": "63db1bdaf2bd22c9673989473a7d3c94e615fa0f3254a4a48d777bf5d0a04599" }, "downloads": -1, "filename": "pymongodm-1.0.8.tar.gz", "has_sig": false, "md5_digest": "6c65202575a7924baa1193731f2f8e76", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6107, "upload_time": "2016-12-12T10:40:16", "url": "https://files.pythonhosted.org/packages/82/98/8150b78ba1974a966742113290d8616456744927202318740e9302543525/pymongodm-1.0.8.tar.gz" } ], "2.0.1": [ { "comment_text": "", "digests": { "md5": "f5589dd5fd95f0c6e00798c759034298", "sha256": "878d047c478694a21414e78007f972db9e73015bfaffdd7ec334b2a473e4d14d" }, "downloads": -1, "filename": "pymongodm-2.0.1.tar.gz", "has_sig": false, "md5_digest": "f5589dd5fd95f0c6e00798c759034298", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5438, "upload_time": "2017-02-06T12:04:11", "url": "https://files.pythonhosted.org/packages/53/2a/1bd57c0eea50193eb1ac8d7b6ee65debd09d5a3efb50cc3ee2007f25c9b1/pymongodm-2.0.1.tar.gz" } ], "2.0.2": [ { "comment_text": "", "digests": { "md5": "e1ac12e5c1332a9edb8d8eae8fcbdf58", "sha256": "990492240707cf602ab107a8a4b3a24f7e3c5dae3930e7169e9c6525a9634465" }, "downloads": -1, "filename": "pymongodm-2.0.2.tar.gz", "has_sig": false, "md5_digest": "e1ac12e5c1332a9edb8d8eae8fcbdf58", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5515, "upload_time": "2017-03-24T16:04:48", "url": "https://files.pythonhosted.org/packages/0e/3a/26a438c2399de4d42387364dc03e33df96411b2288d61d4fdc6d9807f998/pymongodm-2.0.2.tar.gz" } ], "2.0.3": [ { "comment_text": "", "digests": { "md5": "c734dda095a4b376a9435472cb367752", "sha256": "b792533be7b20927c13f59093fa07cc8025ca4d915d6b90d250755025bd47b25" }, "downloads": -1, "filename": "pymongodm-2.0.3.tar.gz", "has_sig": false, "md5_digest": "c734dda095a4b376a9435472cb367752", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5882, "upload_time": "2017-05-23T11:58:36", "url": "https://files.pythonhosted.org/packages/3a/49/11d0c942ccaf9af042ead12060909bf8c856c87ea5f885a4113ef547370c/pymongodm-2.0.3.tar.gz" } ], "2.0.4": [ { "comment_text": "", "digests": { "md5": "49a0f65e10124ce6582b9e85ca025aee", "sha256": "9500529db7fe6a87c19c9920e2e7fe43b5010b31c1b9e8bc242d661f9aacfa3d" }, "downloads": -1, "filename": "pymongodm-2.0.4.tar.gz", "has_sig": false, "md5_digest": "49a0f65e10124ce6582b9e85ca025aee", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5849, "upload_time": "2017-06-22T22:42:06", "url": "https://files.pythonhosted.org/packages/ce/7e/83c03aaa3de69d189394d188c131f03fdf05edc31ff8e9121eaea66c1e5a/pymongodm-2.0.4.tar.gz" } ], "2.0.5": [ { "comment_text": "", "digests": { "md5": "b2c117164c5a30df719efa0b864c9042", "sha256": "d4876cfb8c47e7a32cc91af514c0bafa92c158e05ff8057dcb78417dca88acc6" }, "downloads": -1, "filename": "pymongodm-2.0.5.tar.gz", "has_sig": false, "md5_digest": "b2c117164c5a30df719efa0b864c9042", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5763, "upload_time": "2018-04-27T07:00:19", "url": "https://files.pythonhosted.org/packages/0c/bb/4e3115db1f92a79473e6d6122a5d51ff1e764fff682c102e7d44c668cbf4/pymongodm-2.0.5.tar.gz" } ], "2.0.6": [ { "comment_text": "", "digests": { "md5": "f5ceaf5ca826010559d99934ff54d4ba", "sha256": "cf273f056116f832183ba3d9b3bbd021f1f38459509460674bb0238895f8d92e" }, "downloads": -1, "filename": "pymongodm-2.0.6.tar.gz", "has_sig": false, "md5_digest": "f5ceaf5ca826010559d99934ff54d4ba", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5762, "upload_time": "2018-04-28T07:50:37", "url": "https://files.pythonhosted.org/packages/e5/4c/e46231ad2be194e360be8bd32c015483a8a4a2a97949e79ffd3c0ed5d84e/pymongodm-2.0.6.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "f5ceaf5ca826010559d99934ff54d4ba", "sha256": "cf273f056116f832183ba3d9b3bbd021f1f38459509460674bb0238895f8d92e" }, "downloads": -1, "filename": "pymongodm-2.0.6.tar.gz", "has_sig": false, "md5_digest": "f5ceaf5ca826010559d99934ff54d4ba", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5762, "upload_time": "2018-04-28T07:50:37", "url": "https://files.pythonhosted.org/packages/e5/4c/e46231ad2be194e360be8bd32c015483a8a4a2a97949e79ffd3c0ed5d84e/pymongodm-2.0.6.tar.gz" } ] }