django 模块 django-serverside-datatable 模块 queryset 必须从 models.py 中获取对象吗?

Must django module django-serverside-datatable module queryset take objects from models.py?

提问人:Darojuvius 提问时间:11/10/2023 最后编辑:lalliDarojuvius 更新时间:11/10/2023 访问量:24

问:

我正在尝试使用 django-serverside-datatable 制作一个页面,我是该模块的新手。我正在尝试制作一个没有对象的querySet。都。可能吗?我正在制作简单的页面来查看 Django-serverside-datatable 的功能。这是我的功能代码:

Views.py:

class ItemListView(ServerSideDatatableView):
    queryset = Articulos.objects.all()
   
    columns = ['nombre', 'seccion', 'precio']

我从模型中获取这 3 列...... 我的Javascript:

$(document).ready(function () {
    $('#mytable').dataTable({
        serverSide: true,
        sAjaxSource: "http://127.0.0.1:8000/data/",  
                            columns: [
                                {name: "nombre", data: 0},
                                {name: "seccion", data: 1},
                                {name: "precio", data: 2},
                            ],
    });
});

这段代码运行良好。但是,问题是,我正在使用各种数据库和简单对象。一切都是不够的。所以我正在做一个 SQL 查询,但是,也许它可以,但 Django-serverside-datatables 没有检测到 SQLQuerys?只有querySet的?我像这样进行查询

cur = connections['default'].cursor()
    cur.execute("SELECT id, nombre, seccion, precio FROM Prueba.baseDatos_articulos")
    llistaArticulos = cur.fetchall()

但是我找不到一种方法来做到这一点,我尝试了这些事情:

class ItemListView(ServerSideDatatableView):
    cur = connections['default'].cursor()
    cur.execute("SELECT id, nombre, seccion, precio FROM Prueba.baseDatos_articulos")
    llistaArticulos = cur.fetchall()

    data_dict = []
    for row in llistaArticulos
        data_dict.append({
            'id': row[0],
            'nombre': row[1],
            'seccion': row[2],
            'precio': row[3]
        })
    columns = data_dict
class ItemListView(ServerSideDatatableView):
    def get_queryset(self):
        cursor = connections['default'].cursor()
        cursor.execute("SELECT id, nombre, seccion, precio FROM Prueba.baseDatos_articulos")

        return CursorQuerySet(cursor)

    columns = ['id','nombre', 'seccion', 'precio']
class ItemListView(ServerSideDatatableView):
    def get_queryset(self):
        with connections['default'].cursor() as cursor:
            cursor.execute("SELECT id, nombre, seccion, precio FROM Prueba.baseDatos_articulos")

            queryset = []
            for row in cursor:
                queryset.append(row)

        return queryset

    columns = ['id','nombre', 'seccion', 'precio']

我不能让它工作!可能吗?

javascript python html mysql 数据表

评论


答: 暂无答案