I tried to configure datatables with rest frame work, i'm getting error when page loads all the datatables fields like pagination, search and title is showing but no data is showing. what might be the reason?
serializers.py
class PermissionSerializer(serializers.ModelSerializer):
class Meta:
model = Permission
fields = (
'name', 'code', 'app',
)
views.py
from rest_framework import viewsets
from .serializers import PermissionSerializer
class PermissionViewSet(viewsets.ModelViewSet):
queryset = Permission.objects.all()
serializer_class = PermissionSerializer
class ViewallPerms(View):
def get(self, request):
context = {
'a' : 'a',
}
return render(request, 'flamika_admin/view_allpermissions.html', context)
urls.py
url(r'^perms/$', views.PermissionViewSet, name='perms'),
path('all-perms', login_required(views.ViewallPerms.as_view(), login_url='f_admin:admin_login'), name='all-perm'),
view_allpermissions.html
<script src="https://code.jquery.com/jquery-1.8.0.min.js"></script>
<div class="row">
<div class="col-sm-12 col-xs-12">
<table id="test" class="table table-striped table-bordered" style="width:100%">
<thead>
<tr>
<th>Code</th>
<th>Name</th>
<th>App</th>
</tr>
</thead>
</table>
</div>
</div>
<script>
$(document).ready(function() {
var table = $('#test').DataTable({
"serverSide": true,
dataSrc: "",
"ajax": "{% url 'flamika_admin:perms' %}",
"columns": [
{"data": "name"},
// Use dot notation to reference nested serializers.
// This data: could alternatively be displayed with the serializer's ReadOnlyField as well, as seen in the minimal example.
{"data": "code"},
{"data": "app"},
]
});
$('.btn-decade').on('click', function() {
table.columns().search('');
var rel = $(this).attr('rel');
if (rel) {
table.columns(3).search('^' + rel + '[0-9]$', true).draw();
} else {
table.draw();
}
});
$('#albums_minimal').DataTable({
"search": {"regex": true},
"language": {"searchPlaceholder": "regular expression"}
});
});
</script>
please let me know where i went wrong, is this right way to configure server-side with datatables. Please correct me. I wanted to display all data in that model.