问题:我需要将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
来增强它的