dajngo 版本更新

    数据表定义

    1. from django.db import models
    2. class BaseModels(models.Model):
    3. create_time = models.DateTimeField("创建时间", auto_now_add=True)
    4. Update_time = models.DateTimeField("最后修改时间", auto_now=True)
    5. class Meta:
    6. abstract = True
    7. class Version(BaseModels):
    8. name = models.CharField("版本名", max_length=30)
    9. info = models.TextField("描述信息", max_length=1000)
    10. file = models.FileField("文件")
    11. class Meta:
    12. verbose_name = "版本管理"
    13. verbose_name_plural = verbose_name
    14. ordering = ["-create_time", "-Update_time"]

    后台定义

    1. @admin.register(Version)
    2. class VersionAdmin(admin.ModelAdmin):
    3. pass

    序列化器定义

    1. class VersionSerializers(serializers.ModelSerializer):
    2. class Meta:
    3. model = Version
    4. fields = '__all__'

    分页定义

    1. class BasePagination(pagination.PageNumberPagination):
    2. page_size = 10
    3. page_size_query_param = 'page_size'
    4. page_query_param = 'page'
    5. max_page_size = 1000e122222

    功能视图

    1. class VersionViewSet(viewsets.ReadOnlyModelViewSet):
    2. queryset = Version.objects.all()
    3. serializer_class = VersionSerializers
    4. pagination_class = BasePagination
    5. filter_backends = [DjangoFilterBackend] # 需要导入第三方包 from django_filters.rest_framework import DjangoFilterBackend 自行百度
    6. filter_fields = ('name',)

    路由注册

    1. from rest_framework.routers import DefaultRouter
    2. from apps.blog.views import *
    3. routers = DefaultRouter()
    4. """
    5. 其他接口
    6. """
    7. routers.register("Version", VersionViewSet, basename="版本管理")