Simple DRM for motor client
Project description
Simple DRM for async mongo motor client
Usage
import asyncio
from MDocument import Document
class Comment(Document):
__collection__ = "comments"
class Video(Document):
__collection__ = "videos"
@Document.lazy_property(self_field="_id", other_field="video")
def comments(self):
return Comment
loop = asyncio.get_event_loop()
Document.setup(loop, "localhost", "test_database")
video = loop.run_until_complete(Video.create(
title="Test",
))
comment1 = loop.run_until_complete(Comment.create(
video=video._id,
message="First!",
))
comment2 = loop.run_until_complete(Comment.create(
video=video._id,
message="Second!"
))
Now we can easily access our comments using our lazy property
print(loop.run_until_complete(video.comments))
[
Comment(_id=5e7533d55eb6a8c6d24d3cc7, video=5e7533d55eb6a8c6d24d3cc6, message=First!),
Comment(_id=5e7533d55eb6a8c6d24d3cc8, video=5e7533d55eb6a8c6d24d3cc6, message=Second!)
]
Play from console
If you want changes made from console immediately you can use update_immediately argument
video = await Video.create(update_immediately=True,
title="Test")
video.length = "1:10"
Now we can find that original document was changed
print(await Video.collection.find_one({"length": "1:10"}))
{'_id': ObjectId('5e75373e5eb6a8c6d24d3cce'), 'title': 'Test', 'length': '1:10'}
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
Close
Hashes for MDocument-0.5.1584787557.309784.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | df23856052a441600369d18931b1556f91ad33c52790ee8eb7a2fd41c2d47fc2 |
|
MD5 | 9b854a2f2583af26f3ab8ee9cab2741f |
|
BLAKE2b-256 | 5f5cb3df2e3973125b3827eddbc6e3606f5ae4894c28f907b945ed9d8858da76 |