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
            }}
        />
    )
}

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

drf_antd_protable-1.0.1.tar.gz (8.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

drf_antd_protable-1.0.1-py3-none-any.whl (8.8 kB view details)

Uploaded Python 3

File details

Details for the file drf_antd_protable-1.0.1.tar.gz.

File metadata

  • Download URL: drf_antd_protable-1.0.1.tar.gz
  • Upload date:
  • Size: 8.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.8.8

File hashes

Hashes for drf_antd_protable-1.0.1.tar.gz
Algorithm Hash digest
SHA256 23bf4029e8f7d720f415ac6217a4e572eec7a3e239d354af3e1c2e68e1cbf09b
MD5 c70713133d32afc7d53eda1555ebcc91
BLAKE2b-256 7ad1348f7229ee508bf6c374979ede9f2fae58f7dc53760786ea746616515b9c

See more details on using hashes here.

File details

Details for the file drf_antd_protable-1.0.1-py3-none-any.whl.

File metadata

File hashes

Hashes for drf_antd_protable-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 8dca1baa6a91fa5e6b70cec48ccd18b07e3dcb0d740de495f03d57f55e1c4611
MD5 aa2d5c3c719ad091b52ecfa7b389556e
BLAKE2b-256 c5615b2f413fc0cc22354ba7bf047f906ce57b0df9c3bdd4e0f3e1ab5921579d

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

1.0.1 This release

2 files

1.0.0

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page