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 0000000..37f498c Binary files /dev/null and b/db.sqlite3 differ