Я использую django-rest-framework-datatables и следую указаниям, но не могу приступить к работе.
Я следовал этому:
https://django -rest-framework-datatables.readthedocs.io/en/latest/index.html
Я получаю предупреждение "Предупреждение DataTables: таблица id = транзакции - Неверный ответ JSON. Для получения дополнительной информации об этой ошибке, пожалуйста,см. http://datatables.net/tn/1"
мои URL-адреса в приложении под названием "custom"
app_name = 'custom'
router = routers.DefaultRouter()
router.register(r'exber', views.ExberViewSet)
urlpatterns = [
url('^exber/api/', include(router.urls)),
url('^exber/', views.exber_index, name='exber'),
]
мои просмотры:
class ExberViewSet(viewsets.ModelViewSet):
queryset = Exber_transactions.objects.all()
serializer_class = ExberSerializer
def exber_index(request):
return render(request, 'custom/exber/transactions.html)
модель:
class Exber_transactions ( models.Model ):
date = models.DateField ( null = True, blank = True )
desc = models.CharField ( max_length = 100 )
activity = models.CharField ( max_length = 100 )
qty = models.DecimalField ( max_digits = 12, decimal_places = 3, default = 0 )
price = models.DecimalField ( max_digits = 12, decimal_places = 2, default = 0 )
accrued_int = models.DecimalField ( max_digits = 12, decimal_places = 3, default = 0 )
amount = models.DecimalField ( max_digits = 12, decimal_places = 2, default = 0 )
сериализатор:
class ExberSerializer(serializers.ModelSerializer):
id = serializers.IntegerField ( read_only = True )
class Meta:
model = Exber_transactions
fields = ('date','desc', 'activity','qty', 'price', 'accrued_int', 'amount')
datatables_always_serialize = ('id',)
и это таблица:
<table id="transactions" class="table table-striped table-bordered" style="width:100%" data-server-side="true" data-ajax="custom/api/exber?format=datatables">
<thead>
<tr>
<th data-data="date">date</th>
<th data-data="desc">desc</th>
<th data-data="activity">activity</th>
<th data-data="qty">qty</th>
<th data-data="price">price</th>
<th data-data="accrued_int">accrued_int</th>
<th data-data="amount">amount</th>
</tr>
</thead>
</table>
<script>
$(document).ready(function() {
$('#transactions').DataTable();
});
</script>
Я подозреваю, что это где-то в пути? Я пробовал много комбинаций.
спасибо.