我正在编写一个 django 应用程序,用于存储和显示员工的工作时间。
问题是,例如,儿科医生有两种工作时间——生病的孩子和健康的孩子分开。
所以我想,使用 HTML 表格来显示每个员工的工作时间会很酷。我的想法是有一个“ListField”代表表的每一行,外键是员工。这样,管理员可以创建如下列表:
['', 'Sick Children', 'Healthy Children'],
['Monday', '8-12', '12-14'],
['Friday', '12-15']
它会以 HTML 表格的形式出现在网站上,看起来很不错。
问题是,我希望它对于网站管理员来说看起来简单直观。因此,我希望将表格行保留为管理面板中员工的内联。所以,我创建了模型:
class TableRow(models.Model):
employee = models.ForeignKey(Employee)
class TableCell(models.Model):
content = models.CharField(max_length=20)
row = models.ForeignKey(TableRow)
并尝试了类似的东西:
class TableCellInline(admin.TabularInline):
model = TableCell
class TableRowInline(admin.TabularInline):
model = TableRow
class EmployeeAdmin(admin.ModelAdmin):
inlines = [TableRowInline]
admin.site.register(Employee, EmployeeAdmin)
admin.site.register(TableRow, TableRowAdmin)
哪个不起作用(正如我所料,但尝试并没有什么坏处)。在添加/编辑员工时,管理面板显示添加表格行的选项,但未显示将任何单元格添加到行的任何选项。
有没有办法允许在编辑/添加员工时添加行?或者也许是一种完全不同的方式来解决问题?