Compare commits

...

2 Commits

  1. 18
      product/admin.py
  2. 29
      product/migrations/0003_prdhistory.py
  3. 19
      product/models.py
  4. 8
      product/serializers.py
  5. 1
      product/urls.py
  6. 20
      product/views.py

@ -39,3 +39,21 @@ class PrdItem(admin.ModelAdmin):
list_per_page = 20 list_per_page = 20
# 设置排序 # 设置排序
ordering = ['id'] 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']

@ -0,0 +1,29 @@
# Generated by Django 4.2.7 on 2025-06-12 01:41
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('product', '0002_prditem_update_at'),
]
operations = [
migrations.CreateModel(
name='PrdHistory',
fields=[
('id', models.AutoField(primary_key=True, serialize=False)),
('prd_id', models.IntegerField(help_text='对应版本的id', verbose_name='对应版本的id')),
('history_doc_link', models.TextField(help_text='历史产品原型链接', verbose_name='历史产品原型链接')),
('update_at', models.DateField(help_text='最后更新日期', verbose_name='最后更新日期')),
('is_delete', models.BooleanField(default=False, help_text='删除状态', verbose_name='删除状态')),
],
options={
'verbose_name': '历史文档列表',
'verbose_name_plural': '历史文档列表',
'db_table': 'prd_history',
'db_table_comment': '历史文档列表',
},
),
]

@ -31,4 +31,21 @@ class PrdItem(models.Model):
verbose_name = '版本列表' verbose_name = '版本列表'
verbose_name_plural = '版本列表' verbose_name_plural = '版本列表'
db_table_comment = '版本列表' db_table_comment = '版本列表'
db_table = 'prd_item' 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'

@ -25,4 +25,10 @@ class PrdItemSerializer(serializers.ModelSerializer):
return rep return rep
# 获取文档时间 # 获取文档时间
# axshare.axshare_ShortcutKey # axshare.axshare_ShortcutKey
class PrdHistorySerializer(serializers.ModelSerializer):
class Meta:
model = PrdHistory
fields = ('id', 'prd_id', 'history_doc_link', 'update_at', 'is_delete')

@ -25,4 +25,5 @@ urlpatterns = [
path('prd_get/<pk>/', views.PrdItemViewSet.as_view({'get': 'retrieve'}), name='prd_get'), path('prd_get/<pk>/', views.PrdItemViewSet.as_view({'get': 'retrieve'}), name='prd_get'),
path('prd_update/<pk>/', views.PrdItemViewSet.as_view({'put': 'update'}), name='prd_update'), path('prd_update/<pk>/', views.PrdItemViewSet.as_view({'put': 'update'}), name='prd_update'),
path('prd_delete/<pk>/', views.PrdItemViewSet.as_view({'delete': 'destroy'}), name='prd_delete'), path('prd_delete/<pk>/', views.PrdItemViewSet.as_view({'delete': 'destroy'}), name='prd_delete'),
path('prd_history', views.PrdHistoryViewSet.as_view({'get': 'list'}), name='prd_history'),
] ]

@ -12,7 +12,7 @@ class ProjectViewSet(viewsets.ModelViewSet):
project_name: 项目名称 project_name: 项目名称
is_delete: 删除标记 is_delete: 删除标记
""" """
queryset = Project.objects.all() queryset = Project.objects.filter(is_delete=False).all()
serializer_class = ProjectSerializer serializer_class = ProjectSerializer
@ -26,9 +26,25 @@ class PrdItemViewSet(viewsets.ModelViewSet):
prd_comment: 产品文档说明 prd_comment: 产品文档说明
is_delete: 删除标记 is_delete: 删除标记
""" """
queryset = PrdItem.objects.order_by('-id').all() queryset = PrdItem.objects.filter(is_delete=False).order_by('-id').all()
serializer_class = PrdItemSerializer serializer_class = PrdItemSerializer
filter_backends = (DjangoFilterBackend,) filter_backends = (DjangoFilterBackend,)
# http://127.0.0.1:8000/prd/prd_list?project=上影联合院线 # http://127.0.0.1:8000/prd/prd_list?project=上影联合院线
filterset_fields = ('project',) filterset_fields = ('project',)
pagination_class = CustomPageNumberPagination 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',)
Loading…
Cancel
Save