Skip to main content

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'}
        ],
    });

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

datatables_mongoengine-0.1.7.tar.gz (3.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

datatables_mongoengine-0.1.7-py3-none-any.whl (4.8 kB view details)

Uploaded Python 3

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

Hashes for datatables_mongoengine-0.1.7.tar.gz
Algorithm Hash digest
SHA256 a344bcfbdd39dac3f1a370cc0f970dbe0b095dde9bbe667288925233e6df60d1
MD5 1813a6b466099821966ea8ce27a829bc
BLAKE2b-256 96d9395396b217d660eca9cafe28a7216b0f0e819b1267172d03a96d8289bef1

See more details on using hashes here.

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

Hashes for datatables_mongoengine-0.1.7-py3-none-any.whl
Algorithm Hash digest
SHA256 81744380740f7dd71033f5f54a09f1957afcb3ec911922fa43403300ed3da3e3
MD5 ea9b3350538da6dc4b5e13635e717c35
BLAKE2b-256 0d41133fab6c645cf2e511ee6960aca459535856b322c46717032c6885f7bc4d

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.1.7 This release

2 files

0.1.6

2 files

0.1.5

2 files

0.1.4

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page