我正在为一个乐队制作出勤表。我的想法是在表格的一部分中输入表演或排练的事件信息。这是事件表的模型:
class Event(models.Model): event_id = models.AutoField(primary_key=True) date = models.DateField() event_type = models.ForeignKey(EventType) description = models.TextField()
然后,我想使用一个内联FormSet,将乐队成员链接到事件并记录他们是否存在,不在场或被原谅:
class Attendance(models.Model): attendance_id = models.AutoField(primary_key=True) event_id = models.ForeignKey(Event) member_id = models.ForeignKey(Member) attendance_type = models.ForeignKey(AttendanceType) comment = models.TextField(blank=True)
现在,我想做的是使用所有当前成员的条目预填充此内联FormSet,并默认将它们存在(大约60个成员)。不幸的是,在这种情况下 Django 不允许初始值。
有什么建议?
因此,你不会喜欢这个答案,部分是因为我尚未完成编写代码,部分是因为这需要大量工作。
当我自己遇到这个问题时,你需要做的是:
BaseInlineFormSet
initial
__init__()
BaseFormSet.__init__()
BaseModelFormSet
TabularInline
inlineformset_factory()
formset
ModelAdmin
add_view
change_view
get_formsets()