Simple DRM for motor client
Project description
MDocument is a simple ORM for MongoDB with addition of relations.
Usage
There are two ways of using mdocument: 1. Specify database, colleciton and client in class. 2. Use modified mongo motor client.
Specifying document parameters in class
import asyncio import motor.motor_asyncio from mdocument import MDocument, relations, model client = motor.motor_asyncio.AsyncIOMotorClient() class Video(MDocument): __collection__ = "videos" __database__ = "mdocument" __client__ = client class Model(MDocument.Model): title = model.Field(str) views_count = model.Field(int) public_id = model.Field(str, unique=True) class Comment(MDocument): __collection__ = "comments" __database__ = "mdocument" __client__ = client class Model(MDocument.Model): text = model.Field(str) video = model.FieldSync(Video, relation=relations.RelationOneToMany, synced_fields=["_id", "title"]) async def main(): video = await Video.create({"title": "Test"}) comment1 = await Comment.create( video=video._id, message="First!", ) comment2 = await Comment.create( video=video._id, message="Second!" ) loop = asyncio.get_event_loop() loop.run_until_complete(main())
Now we can easily access our comments using our related documents
TODO: REWRITE DOCUMENTATION!
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
mdocument-4.0.1612576120.tar.gz
(10.8 kB
view hashes)
Built Distribution
Close
Hashes for mdocument-4.0.1612576120-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4b870ea1c80b196c3f017592c04363ad4b7837cc482653645378add50a44a2b1 |
|
MD5 | ce608103f436105de7cd523ff97eb9ca |
|
BLAKE2-256 | 09b2fdcf60e893fa1b5246f29ede2e2ef4ad668b80b58534a6205ace01049a2c |