我有一个小项目,我需要创建一个系统来记录一个人在几个时间段(例如,“8:00-9:00”,“10:00-11:00”,“13:00-14:00”)每天所做的事情。我在Django中实现了这个项目,并使用Django Admin展示了这个系统
我在models.py中创建了三个模型tmpDate、tmpHour、tmpDateHour
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的Admin中创建了一个新的日期,那么tmpHour中存储的所有时隙都将填充相应的字段。像这样的
但是,我不知道如何在admin中进行设置,我目前在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中的所有时隙自动弹出并填充字段
或许可以尝试这样的方法(未经测试):
相关问题 更多 >
编程相关推荐