【发布时间】:2020-03-06 17:28:13
【问题描述】:
我有两个模型如下:
class Reservation(models.Model):
startDate = models.DateField()
endDate = models.DateField()
count = models.IntegerField(blank=False, null=False)
def generateReservationItems(self):
for d in range((endDate - startDate).days):
reservationItem= ReservationItems(reservationDate=d, count = count)
reservationItem.save()
class ReservationItems(models.Model):
reservationDate = models.DateField();
reservation = models.ForeignKey(Reservation, on_delete=models.CASCADE)
count = models.IntegerField(blank=False, null=False)
Reservation 类表示日期包(日期范围),ReservationItems 类存储每个单独的日期存在于 Reservation 类中。
我构建了“generateReservationItems()”函数,以便在保存 Reservation 对象时自动调用。该函数插入的项目数等于 startDate 和 endDate 之间的差值。例如:如果 startDate = Mars 6 2020,endDate = Mars 10 2020,则在 ReservationItems 中插入 5 个项目:
Mars 6 2020
Mars 7 2020
Mars 8 2020
Mars 9 2020
Mars 10 2020
但是 Reservation 对象被成功插入,而没有将项目插入到 reservationItems 中。我不知道如何在创建预留对象后调用“generateReservationItems()”。 请有任何想法,或者是否有其他有效的方法来执行此类任务。
【问题讨论】:
标签: django django-models django-admin