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
Built Distribution
File details
Details for the file mdocument-4.0.1611941755.tar.gz
.
File metadata
- Download URL: mdocument-4.0.1611941755.tar.gz
- Upload date:
- Size: 7.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/52.0.0 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.9.1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4eaa70138349887a9ef0d4062704a5455ac4f4dc5be45d0d08e1100f3ec61544 |
|
MD5 | 08b8745a7d5c8037f19f62c83bb37ff7 |
|
BLAKE2b-256 | ea2727d3e4084fbfeeed6463854685ef21e6f31206f0d7935e246dbeedb0fd0f |
File details
Details for the file mdocument-4.0.1611941755-py3-none-any.whl
.
File metadata
- Download URL: mdocument-4.0.1611941755-py3-none-any.whl
- Upload date:
- Size: 8.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/52.0.0 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.9.1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 59ab800d9260f19e8bae07a651b4c49f6cff961f44fbf1e777aca20e0002fe46 |
|
MD5 | fa928f6d2907d29d5bf2d4e0198d4d5e |
|
BLAKE2b-256 | 6fd03a11585df5721f992657206553c46da5192e7ebe9b58bb7bcd9d640a40d6 |