增加路由,增加最后更新时间,优化返回的最后更新时间为本地时间

main
RogerWork 4 days ago
parent fdf67d9fbd
commit 1ca89c6535
  1. 1
      dingxin_toolbox_drf/urls.py
  2. 18
      product/migrations/0002_prditem_update_at.py
  3. 1
      product/models.py
  4. 13
      product/serializers.py
  5. 28
      product/urls.py

@ -27,6 +27,7 @@ urlpatterns = [
path('ec/', include('dspt_api.urls')), # 电商平台接口 path('ec/', include('dspt_api.urls')), # 电商平台接口
path('', include('mock.urls')), path('', include('mock.urls')),
path('docs/', include_docs_urls(title='接口文档')), path('docs/', include_docs_urls(title='接口文档')),
path('prd/', include('product.urls')),
] ]
websocket_urlpatterns = [ websocket_urlpatterns = [

@ -0,0 +1,18 @@
# Generated by Django 4.2.7 on 2025-06-04 08:42
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('product', '0001_initial'),
]
operations = [
migrations.AddField(
model_name='prditem',
name='update_at',
field=models.DateTimeField(auto_now=True, help_text='最后更新时间', verbose_name='最后更新时间'),
),
]

@ -22,6 +22,7 @@ class PrdItem(models.Model):
prd_doc_link = models.CharField(verbose_name='原型地址',max_length=100, help_text='原型地址') prd_doc_link = models.CharField(verbose_name='原型地址',max_length=100, help_text='原型地址')
prd_comment = models.TextField(verbose_name='版本描述', help_text='版本描述') prd_comment = models.TextField(verbose_name='版本描述', help_text='版本描述')
is_delete = models.BooleanField(verbose_name='删除状态', default=False, help_text='删除状态') is_delete = models.BooleanField(verbose_name='删除状态', default=False, help_text='删除状态')
update_at = models.DateTimeField(verbose_name='最后更新时间', auto_now=True, help_text='最后更新时间')
def __str__(self): def __str__(self):
return self.prd_version return self.prd_version

@ -1,4 +1,6 @@
import pytz
from rest_framework import serializers from rest_framework import serializers
from django.utils import timezone
from product.models import * from product.models import *
@ -11,4 +13,13 @@ class ProjectSerializer(serializers.ModelSerializer):
class PrdItemSerializer(serializers.ModelSerializer): class PrdItemSerializer(serializers.ModelSerializer):
class Meta: class Meta:
model = PrdItem model = PrdItem
fields = ('id', 'project', 'prd_version', 'prd_doc_link', 'prd_comment', 'is_delete') fields = ('id', 'project', 'prd_version', 'prd_doc_link', 'prd_comment', 'is_delete', 'update_at')
def to_representation(self, instance):
rep = super().to_representation(instance)
if self.fields.get('update_at'):
# 根据你的字段配置动态获取需要转换的字段
original_time = getattr(instance, 'update_at')
local_tz = pytz.timezone('Asia/Shanghai')
rep['update_at'] = original_time.astimezone(local_tz).strftime('%Y-%m-%d %H:%M:%S')
return rep

@ -0,0 +1,28 @@
"""
URL configuration for dingxin_toolbox_drf project.
The `urlpatterns` list routes URLs to views. For more information please see:
https://docs.djangoproject.com/en/4.2/topics/http/urls/
Examples:
Function views
1. Add an import: from my_app import views
2. Add a URL to urlpatterns: path('', views.home, name='home')
Class-based views
1. Add an import: from other_app.views import Home
2. Add a URL to urlpatterns: path('', Home.as_view(), name='home')
Including another URLconf
1. Import the include() function: from django.urls import include, path
2. Add a URL to urlpatterns: path('blog/', include('blog.urls'))
"""
from django.contrib import admin
from django.urls import path, include
from product import views
urlpatterns = [
path('project_list', views.ProjectViewSet.as_view({'get': 'list'}), name='project_list'),
path('prd_list', views.PrdItemViewSet.as_view({'get': 'list'}), name='prd_list'),
path('prd_add', views.PrdItemViewSet.as_view({'post': 'create'}), name='prd_create'),
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_delete/<pk>/', views.PrdItemViewSet.as_view({'delete': 'destroy'}), name='prd_delete'),
]
Loading…
Cancel
Save