让我们考虑一下这些模型
class Session(models.Model):
staff = models.ForeignKey(User, verbose_name='Supplier')
start_time = models.DateTimeField(_('start'))
end_time = models.DateTimeField(_('end'))
class Participation(models.Model):
session = models.ForeignKey(Session)
atendee = models.ForeignKey(User, verbose_name='Attendee')
class Meta:
unique_together = ('session', 'attendee')
我正在使用内联formset来管理Participations
Session
编辑器。
想象一下以下场景:
如果我发送此formset,我将收到一个约束错误
本次会议和与会者的参与已经存在。
似乎验证不会将删除的孩子考虑在内 它被认为是正常行为吗? 在那种情况下,我该如何妥善管理这个案子?
要重现此行为,请使用具有以下管理类的管理站点:
class PartInline(admin.TabularInline):
model = Participation
class SessionAdmin(admin.ModelAdmin):
inlines = [PartInline]
admin.site.register(Session, SessionAdmin)