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
Close
Hashes for datatables_mongoengine-0.1.7.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | a344bcfbdd39dac3f1a370cc0f970dbe0b095dde9bbe667288925233e6df60d1 |
|
MD5 | 1813a6b466099821966ea8ce27a829bc |
|
BLAKE2b-256 | 96d9395396b217d660eca9cafe28a7216b0f0e819b1267172d03a96d8289bef1 |
Close
Hashes for datatables_mongoengine-0.1.7-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 81744380740f7dd71033f5f54a09f1957afcb3ec911922fa43403300ed3da3e3 |
|
MD5 | ea9b3350538da6dc4b5e13635e717c35 |
|
BLAKE2b-256 | 0d41133fab6c645cf2e511ee6960aca459535856b322c46717032c6885f7bc4d |