如何在Django模型中存储2D数组



问题:我需要将2D数组存储在表的一个字段中。

示例

id:1

教师姓名:"Amit";

时间:[[9:00am,2:00pm],[2:00pm],[6:00pm]#需要在一个字段中存储二维数组类型的多个时间戳

代码在这里:

型号.py

class ScheduleClassification(models.Model):
vendor_id = models.ForeignKey(Vendor, on_delete=models.CASCADE, default=None, null=True)
id = models.IntegerField(primary_key=True)
name = models.CharField(max_length=100)
description = models.CharField(max_length=1000)
start_date = models.DateField(auto_now_add=True)
end_date = models.DateField(auto_now_add=True)
duration = models.CharField(max_length=20, default="forever")
day_type = models.CharField(max_length=20)
time = #how do i make this field

我该如何储存?请告诉我最好的方法。在django模型中

首先,存储整个数组不是一个好方法,您必须做的是创建新的模型,将有教师课程的开始和结束时间以及时间表

class Lesson(models.Model):
start = models.DateTimeField()
end = models.DateTimeField()
duration = models.CharField(max_length=20, default="forever")
teacher = models.ForeignField(Teacher)
schedule = models.ForeignField(Schedule)

这是一个更好的方法,你可以创建一个函数,使你想要的阵列

# in the Schedule Class 
def create_array(self):
array = []
qs = Lesson.objects.filter(schedule=self)
for lesson in qs.iterator():
lesson = [ lesson.start , lesson.end]
array.append(lesson)  
return array  

你也可以使这个功能property来增强它的

相关内容

  • 没有找到相关文章

最新更新