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
File details
Details for the file MDocument-1.0.1584796579.tar.gz
.
File metadata
- Download URL: MDocument-1.0.1584796579.tar.gz
- Upload date:
- Size: 4.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.0.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.8.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | de2966f7ee4843fa818bb3025af66e2a40aa5126eebb24ae50623e2e0a6d974c |
|
MD5 | 071b82715e06864d1918e599879c9b6c |
|
BLAKE2b-256 | b759fab1eee4a121c43209fe121a1219c1adc65796598117b51790d93454fdb3 |