Mixin for connecting DataTables to MongoDB with MongoEngine.
Project description
MongoEngine DataTables
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.5.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1841b09dfee959b734db0a4f218e371fad4c3f059b2556a2a6eb6c6a0ebe2b43 |
|
MD5 | c33e48e2676abfda85b74e157be5f462 |
|
BLAKE2b-256 | f579fef2ee51bfc9b33c12c994cd87406687edf676dacae388342cbb86adf5f3 |
Close
Hashes for datatables_mongoengine-0.1.5-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5ed14ed7f8cc874106fc15430ae44cd366019a21895bc8747755e1cb1fcdeda7 |
|
MD5 | 9043dc464deebf8cef7f5a6a0404c359 |
|
BLAKE2b-256 | f1289df02fb02a90b884277a9d84d556418840c93b667daf7bf8f2f35e7ce1c0 |