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
|