54 lines
1.9 KiB
Python
54 lines
1.9 KiB
Python
|
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
|