From 6fe10d080544c2b06deb9dab490edb2ba2e020a7 Mon Sep 17 00:00:00 2001 From: xfc Date: Wed, 14 Jun 2023 11:45:42 +0800 Subject: [PATCH] 6.14update --- TP_API/settings.py | 11 +---------- app/admin.py | 2 ++ app/migrations/0001_initial.py | 33 +++++++++++++++++++++++++++++++++ app/models.py | 32 +++++++++++++++++++------------- app/serializers.py | 4 ++++ db.sqlite3 | Bin 0 -> 135168 bytes 6 files changed, 59 insertions(+), 23 deletions(-) create mode 100644 app/migrations/0001_initial.py create mode 100644 db.sqlite3 diff --git a/TP_API/settings.py b/TP_API/settings.py index c3e599a..6324ffb 100644 --- a/TP_API/settings.py +++ b/TP_API/settings.py @@ -41,7 +41,7 @@ INSTALLED_APPS = [ 'rest_framework', 'django_filters', 'corsheaders', - 'app' + 'app', ] MIDDLEWARE = [ @@ -207,12 +207,3 @@ LOGGING = { }, }, } - - - - - - - - - diff --git a/app/admin.py b/app/admin.py index 8c38f3f..a932cee 100644 --- a/app/admin.py +++ b/app/admin.py @@ -1,3 +1,5 @@ from django.contrib import admin # Register your models here. +from app.models import TP +admin.site.register(TP) diff --git a/app/migrations/0001_initial.py b/app/migrations/0001_initial.py new file mode 100644 index 0000000..0a51267 --- /dev/null +++ b/app/migrations/0001_initial.py @@ -0,0 +1,33 @@ +# Generated by Django 3.2.19 on 2023-06-13 14:39 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + initial = True + + dependencies = [ + ] + + operations = [ + migrations.CreateModel( + name='TP', + fields=[ + ('uid', models.AutoField(primary_key=True, serialize=False)), + ('video_hash', models.CharField(max_length=50)), + ('record_time', models.DateTimeField()), + ('police_id', models.CharField(blank=True, max_length=50, null=True)), + ('event_type', models.CharField(max_length=50)), + ('is_violation', models.BooleanField()), + ('small_image', models.CharField(max_length=100)), + ('relative_time', models.FloatField()), + ('video_dir', models.CharField(max_length=100)), + ('car_number', models.CharField(max_length=50)), + ('ai_analysis', models.CharField(max_length=255)), + ('add_time', models.DateTimeField(auto_now_add=True)), + ('update_time', models.DateTimeField(auto_now=True)), + ('is_display', models.BooleanField(default=True)), + ], + ), + ] diff --git a/app/models.py b/app/models.py index 236359c..e280453 100644 --- a/app/models.py +++ b/app/models.py @@ -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, null=True, blank=True) # 警号可为空 + 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'] diff --git a/app/serializers.py b/app/serializers.py index e355336..78bf8f4 100644 --- a/app/serializers.py +++ b/app/serializers.py @@ -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 diff --git a/db.sqlite3 b/db.sqlite3 new file mode 100644 index 0000000000000000000000000000000000000000..37f498ccf324940f57f3160b1facc27e437ae334 GIT binary patch literal 135168 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 literal 0 HcmV?d00001