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.6.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6c040cbf8377fd0780792e9fc67c7a4d8f8dc37b439b8216d71f37e15cbea885 |
|
MD5 | 6125f3745a4d36d88e97cd7bf0079fb3 |
|
BLAKE2b-256 | f6f1aa5755c93a0ceeb052b72d9bb300eac6d3c6ea9bbdd19c4ee360ed5009bb |
Close
Hashes for datatables_mongoengine-0.1.6-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | eb688819711417febe110d5f8aab2c6f702029e43b364351aeabf9c7682a9773 |
|
MD5 | 44f57a7bd293e3d45d7c354f0a3936f1 |
|
BLAKE2b-256 | a905cd4425411a7ed65e8bfe48469038514f01fc7caae68ded2e3f625ee3e0e8 |