Skip to main content

Automates DRF APIs for Ant Design ProTable

drf_antd_protable automates DRF APIs for Ant Design ProTable, enabling seamless data handling with pagination, sorting, filtering, and searching support, while automatically generating frontend table configurations.

Installation

python3 -m pip install -U drf-antd-protable

Usage

1. use as viewsets

# views.py
from drf_antd_protable.viewsets import ProTableViewSet
from . import models, serializers

class MyTableViewSet(ProTableViewSet):
    queryset = models.QA.objects.all()
    serializer_class = serializers.QA_Serializer
# urls.py
from rest_framework.routers import DefaultRouter
from .views import MyTableViewSet

router = DefaultRouter()
router.register('demo_table', MyTableViewSet, basename='demo_table')

urlpatterns = [
    # ...
    path('', include(router.urls)),
    # ...
]

2. supporting columns configuration

  • hidden_fields
  • select_fields
  • sorter_fields
  • copyable_fields
  • not_search_fields
  • render_region_fields
  • render_compare_fields
  • verbose_name_map

example

class MyTableViewSet(ProTableViewSet):
    queryset = models.QA.objects.all()
    serializer_class = serializers.QA_Serializer

    hidden_fields = ['id']
    select_fields = ['department']
    sorter_fields = ['user', 'question']
    copyable_fields = ['anwser']
    not_search_fields = ['department']
    render_region_fields = ['size']
    render_compare_fields = ['count']
    verbose_name_map = {
        'size': '大小',
        'count': '数量',
    }

Endpoints

  • demo_table/columns/

  • demo_table/data/

  • demo_table/export/

Use in Frontend

import { ProTable } from '@ant-design/pro-components'
import { useRequest } from 'ahooks'
import { request } from '@umijs/max'

const DemoTable = () => {
    const columnsRequest = useRequest(async () => request('/api/demo_table/columns/'))

    return (
        <ProTable
            columns={columnsRequest.data}
            request={async (params, sorter, filter) => {
                const { current, pageSize, keyword, ...search } = params;
                const payload = {
                    sort: sorter,
                    filter: filter,
                    search: search,
                    globalSearch: keyword,
                };
                const data = await request('/api/demo_table/data/', {
                    method: 'POST',
                    data: payload,
                    params: { current, pageSize },
                })
                return data
            }}
        />
    )
}

Metadata

Release files for drf-antd-protable 1.0.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for drf-antd-protable 1.0.1
File Size Uploaded
drf_antd_protable-1.0.1.tar.gz 8.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for drf-antd-protable 1.0.1
File Interpreter ABI Platform
drf_antd_protable-1.0.1-py3-none-any.whl Python 3 none any Details

Total release size: 17.5 kB

Release files / drf_antd_protable-1.0.1.tar.gz

Download URL drf_antd_protable-1.0.1.tar.gz
Size 8.6 kB
Tags Source
SHA-256 checksum
How to use checksums
23bf4029e8f7d720f415ac6217a4e572eec7a3e239d354af3e1c2e68e1cbf09b
BLAKE2b-256 checksum
How to use checksums
7ad1348f7229ee508bf6c374979ede9f2fae58f7dc53760786ea746616515b9c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.8.8

Release files / drf_antd_protable-1.0.1-py3-none-any.whl

Download URL drf_antd_protable-1.0.1-py3-none-any.whl
Size 8.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
8dca1baa6a91fa5e6b70cec48ccd18b07e3dcb0d740de495f03d57f55e1c4611
BLAKE2b-256 checksum
How to use checksums
c5615b2f413fc0cc22354ba7bf047f906ce57b0df9c3bdd4e0f3e1ab5921579d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.8.8

Release history Release notifications | RSS feed

This release

1.0.1 This release

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page