diff --git a/product/admin.py b/product/admin.py index 035baaa..4f56f6c 100644 --- a/product/admin.py +++ b/product/admin.py @@ -39,3 +39,21 @@ class PrdItem(admin.ModelAdmin): list_per_page = 20 # 设置排序 ordering = ['id'] + + +@admin.register(PrdHistory) +class PrdHistory(admin.ModelAdmin): + admin.site.site_title = '历史版本' + admin.site.site_header = '历史版本' + admin.site.index_title = '历史版本' + # 设置显示字段 + list_display = ['id', 'prd_id', 'history_doc_link', 'update_at', 'is_delete'] + list_display_links = ['prd_id', 'history_doc_link', 'update_at', 'is_delete'] + # 设置搜素条件 + search_fields = ['prd_id'] + # 设置过滤条件 + list_filter = ['prd_id'] + # 设置分页 + list_per_page = 20 + # 设置排序 + ordering = ['id'] \ No newline at end of file diff --git a/product/models.py b/product/models.py index b2f6893..7f6f1a9 100644 --- a/product/models.py +++ b/product/models.py @@ -31,4 +31,21 @@ class PrdItem(models.Model): verbose_name = '版本列表' verbose_name_plural = '版本列表' db_table_comment = '版本列表' - db_table = 'prd_item' \ No newline at end of file + db_table = 'prd_item' + + +class PrdHistory(models.Model): + id = models.AutoField(primary_key=True) + prd_id = models.IntegerField(verbose_name='对应版本的id', help_text='对应版本的id') + history_doc_link = models.TextField(verbose_name='历史产品原型链接', help_text='历史产品原型链接') + update_at = models.DateField(verbose_name='最后更新日期', help_text='最后更新日期') + is_delete = models.BooleanField(verbose_name='删除状态', default=False, help_text='删除状态') + + def __str__(self): + return self.history_doc_link + + class Meta: + verbose_name = '历史文档列表' + verbose_name_plural = '历史文档列表' + db_table_comment = '历史文档列表' + db_table = 'prd_history' \ No newline at end of file diff --git a/product/serializers.py b/product/serializers.py index be4cef8..5ca68ad 100644 --- a/product/serializers.py +++ b/product/serializers.py @@ -25,4 +25,10 @@ class PrdItemSerializer(serializers.ModelSerializer): return rep # 获取文档时间 - # axshare.axshare_ShortcutKey \ No newline at end of file + # axshare.axshare_ShortcutKey + + +class PrdHistorySerializer(serializers.ModelSerializer): + class Meta: + model = PrdHistory + fields = ('id', 'prd_id', 'history_doc_link', 'update_at', 'is_delete') diff --git a/product/urls.py b/product/urls.py index 0298b3c..a00a8bf 100644 --- a/product/urls.py +++ b/product/urls.py @@ -25,4 +25,5 @@ urlpatterns = [ path('prd_get//', views.PrdItemViewSet.as_view({'get': 'retrieve'}), name='prd_get'), path('prd_update//', views.PrdItemViewSet.as_view({'put': 'update'}), name='prd_update'), path('prd_delete//', views.PrdItemViewSet.as_view({'delete': 'destroy'}), name='prd_delete'), + path('prd_history', views.PrdHistoryViewSet.as_view({'get': 'list'}), name='prd_history'), ] diff --git a/product/views.py b/product/views.py index 5bfc8e9..db91959 100644 --- a/product/views.py +++ b/product/views.py @@ -12,7 +12,7 @@ class ProjectViewSet(viewsets.ModelViewSet): project_name: 项目名称 is_delete: 删除标记 """ - queryset = Project.objects.all() + queryset = Project.objects.filter(is_delete=False).all() serializer_class = ProjectSerializer @@ -26,9 +26,25 @@ class PrdItemViewSet(viewsets.ModelViewSet): prd_comment: 产品文档说明 is_delete: 删除标记 """ - queryset = PrdItem.objects.order_by('-id').all() + queryset = PrdItem.objects.filter(is_delete=False).order_by('-id').all() serializer_class = PrdItemSerializer filter_backends = (DjangoFilterBackend,) # http://127.0.0.1:8000/prd/prd_list?project=上影联合院线 filterset_fields = ('project',) pagination_class = CustomPageNumberPagination + + +class PrdHistoryViewSet(viewsets.ModelViewSet): + # 字段注释 + """ + id: 数据id + prd_id: 版本id + history_doc_link: 历史产品原型链接 + update_at: 最后更新日期 + is_delete: 删除标记 + """ + queryset = PrdHistory.objects.filter(is_delete=False).order_by('-update_at').all() + serializer_class = PrdHistorySerializer + filter_backends = (DjangoFilterBackend,) + # http://127.0.0.1:8000/prd/prd_history?prd_id=1 + filterset_fields = ('prd_id',) \ No newline at end of file