pivotal-energy-solutions / django-datatable-view

Server-side datatable representations for Django querysets for automatic rendering in templates
Apache License 2.0
347 stars 141 forks source link

Unable to search or sort columns with processor but no sources #249

Open jabbasj opened 3 years ago

jabbasj commented 3 years ago

Am I missing something? I was under the impression for such cases, the DataTable will do the sort/search on a list using python but it's actually not doing anything

jabbasj commented 3 years ago

I'm finding contradictions in the exampleapp notes.

Here it says you can't sort (or search) if you have no db field as a source:

INFO:
    Because methods and properties aren't actual model fields, these sources won't be able to
    contribute to database sorting and filtering.

While here it says you can sort in-memory even if the sources represents a method:

INFO:
    If the ``sources`` is ``[]`` or ``None``, ``sortable=False`` is automatically implied. If you
    need sorting, consider splitting up the work that you intend to do with the ``processor``, so
    that there is a field, **method, or property that can be used as the source, and the processor
    just manipulates that value. This will at least provide you with in-memory sorting of the core
    value.**

I tested and sorting works if I put a method as the source... but if that works in-memory why does searching not work ?? Is there a way to enable in-memory searching ?

jabbasj commented 3 years ago

What's really bothering me is I remember testing searching on computed columns and it seemed to work... did I break something or is it simply not supported and I hallucinated lol?

jabbasj commented 3 years ago

Eh, I disabled server-side as a work-around. Maybe I had server-side disabled when I hallucinated.

Anyways, this is lame I understand that 'performance' issues is a concern but we should have the option to enable in-memory searching just like in-memory sorting is available.

I'll either build my own in-memory sorting, try to survive without server side or if all else fails I'll convert these virtual columns into real columns.

I'm sure no one cares since but I had to rant somewhere :P