forked from kongfp/TP_Admin
31
0
Fork 1

Merge pull request 'master' (#4) from xufc/TP_API:master into master

Reviewed-on: http://192.168.0.102:3000/Yaxin/TP_API/pulls/4
master
kongfp 2 years ago
commit ea80c404bc

2
.gitignore vendored

@ -22,3 +22,5 @@ pnpm-debug.log*
*.njsproj
*.sln
*.sw?
*.log
db.sqlite3

@ -41,7 +41,7 @@ INSTALLED_APPS = [
'rest_framework',
'django_filters',
'corsheaders',
'app'
'app',
]
MIDDLEWARE = [
@ -158,4 +158,52 @@ REST_FRAMEWORK = {
'DATETIME_FORMAT': "%Y-%m-%d %H:%M:%S",
'DATE_FORMAT': "%Y-%m-%d",
'DEFAULT_FILTER_BACKENDS': ['django_filters.rest_framework.DjangoFilterBackend'],
}
}
# 配置日志
LOG_DIR = os.path.join(BASE_DIR, 'logs/')
LOGGING = {
'version': 1, # 保留字
'disable_existing_loggers': False, # 是否禁用已经存在的日志实例
'formatters': { # 定义日志的格式
'standard': {
'format': '[%(asctime)s][%(threadName)s:%(thread)d][task_id:%(name)s][%(filename)s:%(lineno)d]'
'[%(levelname)s][%(message)s]'
},
'simple': {
'format': '[%(levelname)s][%(asctime)s][%(filename)s:%(lineno)d]%(message)s'
},
'collect': {
'format': '%(message)s'
}
},
'filters': { # 定义日志的过滤器
'require_debug_true': {
'()': 'django.utils.log.RequireDebugTrue',
},
},
'handlers': { # 日志处理程序
'console': {
'level': 'DEBUG',
'filters': ['require_debug_true'], # 只有在Django debug为True时才在屏幕打印日志
'class': 'logging.StreamHandler',
'formatter': 'simple',
# 'filename': os.path.join(BASE_LOG_DIR, "tpservice.log")
},
'file': {
'level': 'DEBUG',
'class': 'logging.handlers.TimedRotatingFileHandler',
'filename': os.path.join(LOG_DIR, 'debug.log'), # 日志文件
'when': "D",
'interval': 1,
'formatter': 'standard'
},
},
'loggers': { # 日志实例 记录器
'mylogger': { # 默认的logger应用如下配置
'handlers': ['console', 'file'],
'level': 'DEBUG',
'propagate': True, # 是否向上一级logger实例传递日志信息
},
},
}

@ -1,3 +1,5 @@
from django.contrib import admin
# Register your models here.
from app.models import TP
admin.site.register(TP)

@ -5,31 +5,37 @@ class TP(models.Model):
# uid
uid = models.AutoField(primary_key=True)
# 视频哈希
video_hash = models.CharField(max_length=50)
video_hash = models.CharField(max_length=50, verbose_name='视频哈希')
# 记录仪时间
record_time = models.DateTimeField()
record_time = models.DateTimeField(verbose_name='记录仪时间')
# 警号
police_id = models.CharField(max_length=50)
police_id = models.CharField(max_length=50, null=True, blank=True, verbose_name='警号') # 警号可为空可不传
# 事件类型
event_type = models.CharField(max_length=50)
event_type = models.CharField(max_length=50, verbose_name='事件类型')
# 是否违规
is_violation = models.BooleanField()
is_violation = models.BooleanField(verbose_name='是否违规')
# 缩略图
small_image = models.CharField(max_length=100)
small_image = models.CharField(max_length=100, verbose_name='缩略图')
# 相对时间
relative_time = models.FloatField()
relative_time = models.FloatField(verbose_name='相对时间')
# 视频路径
video_dir = models.CharField(max_length=100)
video_dir = models.CharField(max_length=100, verbose_name='视频路径')
# 车牌号
car_number = models.CharField(max_length=50)
car_number = models.CharField(max_length=50, verbose_name='车牌号', null=True, blank=True) # 车牌可为空可不传
# 分析结果
ai_analysis = models.CharField(max_length=255)
ai_analysis = models.CharField(max_length=255, verbose_name='分析结果', null=True, blank=True) # 分析结果可为空可不传
# 加入时间
add_time = models.DateTimeField(auto_now_add=True)
add_time = models.DateTimeField(auto_now_add=True, verbose_name='加入时间')
# 更新时间
update_time = models.DateTimeField(auto_now=True)
update_time = models.DateTimeField(auto_now=True, verbose_name='更新时间')
# 是否显示
is_display = models.BooleanField(default=True)
is_display = models.BooleanField(default=True, verbose_name='是否显示')
class Meta:
db_table = "app_tp"
# 排序 uid倒序
ordering = ['-uid']

@ -20,6 +20,10 @@ class SerialFilter(FilterSet):
record_time = django_filters.DateTimeFilter(field_name='record_time', lookup_expr='icontains')
police_id = django_filters.CharFilter(field_name='police_id', lookup_expr='icontains')
event_type = django_filters.CharFilter(field_name='event_type', lookup_expr='icontains')
# 记录时间范围查询
start_time = django_filters.DateTimeFilter(field_name='record_time', lookup_expr='gte')
end_time = django_filters.DateTimeFilter(field_name='record_time', lookup_expr='lte')
class Meta:
# 指定模型
models = TP

@ -23,4 +23,4 @@ router.register('', views.ModelQuery)
urlpatterns = [
path('', include(router.urls)),
]
]

@ -10,7 +10,7 @@ from app.pagination import MyPageNumberPagination
class ModelQuery(viewsets.ModelViewSet):
# 查询类
queryset = TP.objects.all().order_by("uid")
queryset = TP.objects.all().order_by("-uid") # 按照uid倒序
# 序列化类
serializer_class = SerialMyModel
# 分页类
@ -18,4 +18,3 @@ class ModelQuery(viewsets.ModelViewSet):
# 条件筛选
filterset_class = SerialFilter

Loading…
Cancel
Save