TrainingPlatform_Django/datasets/models.py

54 lines
1.9 KiB
Python
Raw Normal View History

2025-06-03 16:10:11 +08:00
from django.db import models
class Dataset(models.Model):
# 自增主键字段Django 默认为每个模型提供一个 id 字段
# 但是如果你需要自定义主键字段,可以用 `primary_key=True` 显式声明
id = models.AutoField(primary_key=True) # 自增主键
# 数据集名称最长255个字符不能为空
name = models.CharField(max_length=255)
# 创建该数据集的用户最长100个字符不能为空
user = models.CharField(max_length=100)
# 任务类型最长50个字符不能为空
task_type = models.CharField(max_length=16)
# 数据集大小使用BigIntegerField来表示较大的整数
size = models.CharField(max_length=64)
# 数据集的总图片数
number = models.IntegerField()
#数据集的描述
description = models.TextField(default="")
# 创建时间,默认为当前时间戳
create_time = models.DateTimeField(auto_now_add=True) # 自动设置为当前时间(只在创建时)
# 数据集的类别,使用 JSONField 存储类别信息
categories = models.JSONField(default=list) # 默认值为一个空列表
# 该数据集是否上传至minio的一个标识
is_upload = models.BooleanField(default=False) # 表示数据集是否已上传,默认为 False
def update_is_upload(self, upload_status):
"""更新数据集的上传状态"""
self.is_upload = upload_status
self.save() # 保存更改到数据库
def __str__(self):
return self.name # 返回数据集名称作为对象的字符串表示
class Project(models.Model):
id = models.AutoField(primary_key=True)
name = models.CharField(max_length=255)
user = models.CharField(max_length=100)
task_type = models.CharField(max_length=16)
description = models.TextField(default="")
create_time = models.DateTimeField(auto_now_add=True)
def __str__(self):
return self.name