У меня есть небольшой проект, мне нужно создать систему для записи того, что человек делал каждый день в течение нескольких временных интервалов (например, «8: 00-9: 00», «10: 00-11: 00», "13: 00-14: 00").Я реализовал проект в Django и использую Django Admin для представления системы.
Я создал три модели tmpDate, tmpHour, tmpDateHour в models.py.
from datetime import datetime
from datetime import date as datetimeDate
class tmpDate(models.Model):
date=models.DateField(default=datetime.now, blank=True)
total_tmp_time=models.DecimalField(max_digits=10,decimal_places=1,default=0.0)
create_time = models.DateTimeField(auto_now_add=True)
update_time = models.DateTimeField(auto_now=True)
def __str__(self):
return self.date
class tmpHour(models.Model):
start_time=models.TimeField()
end_time=models.TimeField()
create_time = models.DateTimeField(auto_now_add=True)
update_time = models.DateTimeField(auto_now=True)
def __str__(self):
return str(self.create_time)+"-"+str(self.update_time)
class tmpDateHour(models.Model):
date=models.ForeignKey(tmpDate,on_delete=models.CASCADE)
hour_time=models.ForeignKey(tmpHour,on_delete=models.CASCADE)
tmp_length=models.DecimalField(max_digits=10,decimal_places=1,default=0.0)
comment=models.CharField(max_length=200,null=True)
create_time = models.DateTimeField(auto_now_add=True)
update_time = models.DateTimeField(auto_now=True)
Идея состоит в том, что я создаю несколько временных интервалов в tmpHour (например, "8: 00-9: 00", "10: 00-11: 00", "13: 00-14: 00«).Как только я создаю новую дату в администраторе tmpDate, все временные интервалы, сохраненные в tmpHour, будут заполнены соответствующими полями.Примерно так
Однако я не знаю, как выполнить настройку в админке, у меня в настоящее время есть следующие настройки в admin.py,
class tmpDateHourInline(admin.TabularInline):
model = tmpDateHour
extra = 1
class tmpHourAdmin(admin.ModelAdmin):
pass
class tmpDateAdmin(admin.ModelAdmin):
inlines=[tmpDateHourInline]
admin.site.register(tmpDate,tmpDateAdmin)
admin.site.register(tmpHour,tmpHourAdmin)
Что дает мне следующий результат.Это требует от меня, чтобы вручную выбрать временные интервалы.
Как я могу изменить admin.py, чтобы все временные интервалы в tmpHour автоматически появлялись и заполняли поля?