Merge pull request 'master' (#2) from lishuang/TP_Admin:master into master
Reviewed-on: http://192.168.0.102:3000/Yaxin/TP_API/pulls/2master
@ -1,6 +1,6 @@
|
||||
from django.apps import AppConfig
|
||||
|
||||
|
||||
class AppConfig(AppConfig):
|
||||
class App01Config(AppConfig):
|
||||
default_auto_field = 'django.db.models.BigAutoField'
|
||||
name = 'app'
|
||||
|
@ -0,0 +1,30 @@
|
||||
# Generated by Django 3.2.19 on 2023-05-25 08:07
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
initial = True
|
||||
|
||||
dependencies = [
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.CreateModel(
|
||||
name='MyModel',
|
||||
fields=[
|
||||
('uid', models.AutoField(primary_key=True, serialize=False)),
|
||||
('video_hash', models.CharField(max_length=50)),
|
||||
('record_time', models.DateTimeField()),
|
||||
('police_id', models.CharField(max_length=50)),
|
||||
('event_type', models.IntegerField()),
|
||||
('is_violation', models.BooleanField()),
|
||||
('small_image', models.CharField(max_length=50)),
|
||||
('relative_time', models.IntegerField()),
|
||||
('video_dir', models.CharField(max_length=50)),
|
||||
('car_number', models.CharField(max_length=50)),
|
||||
('ai_analysis', models.CharField(max_length=50)),
|
||||
],
|
||||
),
|
||||
]
|
@ -0,0 +1,23 @@
|
||||
# Generated by Django 3.2.19 on 2023-05-26 10:03
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('app', '0001_initial'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AlterField(
|
||||
model_name='mymodel',
|
||||
name='ai_analysis',
|
||||
field=models.CharField(max_length=255),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='mymodel',
|
||||
name='relative_time',
|
||||
field=models.FloatField(),
|
||||
),
|
||||
]
|
@ -0,0 +1,35 @@
|
||||
# Generated by Django 3.2.19 on 2023-05-29 14:46
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('app', '0002_auto_20230526_1003'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.CreateModel(
|
||||
name='TP_Api',
|
||||
fields=[
|
||||
('uid', models.AutoField(primary_key=True, serialize=False)),
|
||||
('video_hash', models.CharField(max_length=50)),
|
||||
('record_time', models.DateTimeField()),
|
||||
('police_id', models.CharField(max_length=50)),
|
||||
('event_type', models.IntegerField()),
|
||||
('is_violation', models.BooleanField()),
|
||||
('small_image', models.CharField(max_length=50)),
|
||||
('relative_time', models.FloatField()),
|
||||
('video_dir', models.CharField(max_length=50)),
|
||||
('car_number', models.CharField(max_length=50)),
|
||||
('ai_analysis', models.CharField(max_length=255)),
|
||||
('add_time', models.DateTimeField()),
|
||||
('update_time', models.DateTimeField()),
|
||||
('is_display', models.BooleanField()),
|
||||
],
|
||||
),
|
||||
migrations.DeleteModel(
|
||||
name='MyModel',
|
||||
),
|
||||
]
|
@ -0,0 +1,23 @@
|
||||
# Generated by Django 3.2.19 on 2023-05-31 10:32
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('app', '0003_auto_20230529_1446'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AlterField(
|
||||
model_name='tp',
|
||||
name='small_image',
|
||||
field=models.CharField(max_length=100),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='tp',
|
||||
name='video_dir',
|
||||
field=models.CharField(max_length=100),
|
||||
),
|
||||
]
|
@ -0,0 +1,18 @@
|
||||
# Generated by Django 3.2.19 on 2023-05-31 14:21
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('app', '0004_auto_20230531_1032'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AlterField(
|
||||
model_name='tp',
|
||||
name='event_type',
|
||||
field=models.CharField(max_length=50),
|
||||
),
|
||||
]
|
@ -0,0 +1,28 @@
|
||||
# Generated by Django 3.2.19 on 2023-05-31 17:57
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('app', '0005_alter_tp_event_type'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AlterField(
|
||||
model_name='tp',
|
||||
name='add_time',
|
||||
field=models.DateTimeField(auto_now=True),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='tp',
|
||||
name='is_display',
|
||||
field=models.BooleanField(default=True),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='tp',
|
||||
name='update_time',
|
||||
field=models.DateTimeField(auto_now_add=True),
|
||||
),
|
||||
]
|
@ -0,0 +1,23 @@
|
||||
# Generated by Django 3.2.19 on 2023-06-01 10:42
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('app', '0006_auto_20230531_1757'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AlterField(
|
||||
model_name='tp',
|
||||
name='add_time',
|
||||
field=models.DateTimeField(auto_now_add=True),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='tp',
|
||||
name='update_time',
|
||||
field=models.DateTimeField(auto_now=True),
|
||||
),
|
||||
]
|
@ -1,3 +1,36 @@
|
||||
from django.db import models
|
||||
|
||||
# Create your models here.
|
||||
class TP(models.Model):
|
||||
# uid
|
||||
uid = models.AutoField(primary_key=True)
|
||||
# 视频哈希
|
||||
video_hash = models.CharField(max_length=50)
|
||||
# 记录仪时间
|
||||
record_time = models.DateTimeField()
|
||||
# 警号
|
||||
police_id = models.CharField(max_length=50)
|
||||
# 事件类型
|
||||
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)
|
||||
|
||||
|
||||
|
||||
|
||||
|
@ -0,0 +1,9 @@
|
||||
from rest_framework.pagination import PageNumberPagination
|
||||
|
||||
|
||||
class MyPageNumberPagination(PageNumberPagination):
|
||||
page_size = 10
|
||||
page_query_param = "page"
|
||||
page_size_query_param = "page_size"
|
||||
max_page_size = 100
|
||||
|
@ -1,3 +1,21 @@
|
||||
from django.shortcuts import render
|
||||
|
||||
# Create your views here.
|
||||
from rest_framework import viewsets
|
||||
from rest_framework.response import Response
|
||||
from app.models import TP
|
||||
from app.serializers import SerialMyModel, SerialFilter
|
||||
from app.pagination import MyPageNumberPagination
|
||||
|
||||
|
||||
class ModelQuery(viewsets.ModelViewSet):
|
||||
# 查询类
|
||||
queryset = TP.objects.all().order_by("uid")
|
||||
# 序列化类
|
||||
serializer_class = SerialMyModel
|
||||
# 分页类
|
||||
pagination_class = MyPageNumberPagination
|
||||
|
||||
# 条件筛选
|
||||
filterset_class = SerialFilter
|
||||
|
||||
|
After Width: | Height: | Size: 586 KiB |
After Width: | Height: | Size: 264 KiB |
After Width: | Height: | Size: 268 KiB |
After Width: | Height: | Size: 394 KiB |
After Width: | Height: | Size: 586 KiB |
After Width: | Height: | Size: 262 KiB |
After Width: | Height: | Size: 398 KiB |
After Width: | Height: | Size: 586 KiB |
After Width: | Height: | Size: 385 KiB |
After Width: | Height: | Size: 265 KiB |
After Width: | Height: | Size: 587 KiB |
After Width: | Height: | Size: 350 KiB |
After Width: | Height: | Size: 574 KiB |
After Width: | Height: | Size: 472 KiB |
After Width: | Height: | Size: 569 KiB |
After Width: | Height: | Size: 344 KiB |
After Width: | Height: | Size: 341 KiB |
After Width: | Height: | Size: 570 KiB |
After Width: | Height: | Size: 461 KiB |
After Width: | Height: | Size: 571 KiB |
After Width: | Height: | Size: 317 KiB |
After Width: | Height: | Size: 329 KiB |
After Width: | Height: | Size: 322 KiB |
After Width: | Height: | Size: 308 KiB |
After Width: | Height: | Size: 580 KiB |
After Width: | Height: | Size: 514 KiB |
After Width: | Height: | Size: 516 KiB |
After Width: | Height: | Size: 309 KiB |
After Width: | Height: | Size: 577 KiB |
After Width: | Height: | Size: 522 KiB |
After Width: | Height: | Size: 327 KiB |
After Width: | Height: | Size: 577 KiB |
After Width: | Height: | Size: 327 KiB |
After Width: | Height: | Size: 518 KiB |
After Width: | Height: | Size: 583 KiB |
After Width: | Height: | Size: 319 KiB |
After Width: | Height: | Size: 527 KiB |
After Width: | Height: | Size: 583 KiB |
After Width: | Height: | Size: 594 KiB |
After Width: | Height: | Size: 574 KiB |
After Width: | Height: | Size: 316 KiB |
After Width: | Height: | Size: 602 KiB |
After Width: | Height: | Size: 314 KiB |
After Width: | Height: | Size: 599 KiB |
After Width: | Height: | Size: 289 KiB |
After Width: | Height: | Size: 279 KiB |
After Width: | Height: | Size: 605 KiB |
After Width: | Height: | Size: 274 KiB |
After Width: | Height: | Size: 265 KiB |
After Width: | Height: | Size: 594 KiB |
After Width: | Height: | Size: 594 KiB |
After Width: | Height: | Size: 260 KiB |
After Width: | Height: | Size: 594 KiB |
After Width: | Height: | Size: 2.1 MiB |
After Width: | Height: | Size: 2.0 MiB |
After Width: | Height: | Size: 2.1 MiB |
After Width: | Height: | Size: 2.2 MiB |
After Width: | Height: | Size: 2.4 MiB |