MongoEngine QuerySet class for populating DataTables from MongoEngine.
Project description
DataTables with MongoEngine
The DataTablesManager
class can be used instead of the default MongoEngine
QuerySet
class to add a datatables
method for returning results as required by the
jQuery plugin DataTables.
Installation
pip install datatables-mongoengine
Example
Here's an example for Flask.
models.py
from mongoengine import Document, StringField, ListField
from datatables_mongoengine import DataTablesManager
class Links(Document):
"""The MongoEngine ODM class for the links collection."""
meta = {
"queryset_class": DataTablesManager
}
name = StringField()
category = StringField()
link = StringField()
group = ListField()
routes.py
from flask import request, g, jsonify
from app import app
from app.models import Links
@app.route("/ajax/links", methods=["POST"])
def ajax_links():
"""Get results from MongoDB for DataTables."""
data = request.get_json()
custom_filter = {
'group': g.user.group
}
results = Links.objects.datatables(data, **custom_filter)
return jsonify(results)
Note that you can inject any filter you want server-side, like I do above to make sure the results all match the current user's group.
app.js
$(document).ready( function () {
$('#example').DataTable({
processing: true,
serverSide: true,
ajax: {
url: '/ajax/links',
dataSrc: 'data',
type: 'POST',
contentType: 'application/json',
data: function (d) {
return JSON.stringify(d)
}
},
columns: [
{ data: 'name'},
{ data: 'category'},
{ data: 'link'}
],
});
Project details
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 datatables_mongoengine-0.1.7.tar.gz
.
File metadata
- Download URL: datatables_mongoengine-0.1.7.tar.gz
- Upload date:
- Size: 3.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/53.0.0 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.7.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | a344bcfbdd39dac3f1a370cc0f970dbe0b095dde9bbe667288925233e6df60d1 |
|
MD5 | 1813a6b466099821966ea8ce27a829bc |
|
BLAKE2b-256 | 96d9395396b217d660eca9cafe28a7216b0f0e819b1267172d03a96d8289bef1 |
File details
Details for the file datatables_mongoengine-0.1.7-py3-none-any.whl
.
File metadata
- Download URL: datatables_mongoengine-0.1.7-py3-none-any.whl
- Upload date:
- Size: 4.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/53.0.0 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.7.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 81744380740f7dd71033f5f54a09f1957afcb3ec911922fa43403300ed3da3e3 |
|
MD5 | ea9b3350538da6dc4b5e13635e717c35 |
|
BLAKE2b-256 | 0d41133fab6c645cf2e511ee6960aca459535856b322c46717032c6885f7bc4d |