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