0

我正在编写一个 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)

哪个不起作用(正如我所料,但尝试并没有什么坏处)。在添加/编辑员工时,管理面板显示添加表格行的选项,但未显示将任何单元格添加到行的任何选项。

有没有办法允许在编辑/添加员工时添加行?或者也许是一种完全不同的方式来解决问题?

4

1 回答 1

0

您尝试执行的操作通常称为嵌套内联。不幸的是,恐怕管理员仍然不支持。有关详细信息,请参阅以下资源。

在 Django 管理员中嵌套内联?

#9025 分配的新功能:管理员中的嵌套内联支持

于 2012-10-25T15:52:32.807 回答