【发布时间】:2023-03-22 14:20:01
【问题描述】:
我正在编写一个 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)
这不起作用(正如我所料,但尝试并没有坏处)。在添加/编辑员工时,管理面板显示添加表格行的选项,但没有显示任何将任何单元格添加到行的选项。
有没有办法允许在编辑/添加员工时添加行?或者也许是一种完全不同的方式来解决问题?
【问题讨论】:
标签: django