如何使用用户创建的模型实例的值创建复选框

时间:2019-06-17 22:07:41

标签: django django-forms django-views

我想创建带有复选框的表单,这些复选框的值是用户创建的模型实例。 这是我的SessionModel:

class SessionModel(models.Model):
starting_time = models.TimeField()
.
.

想象一下,我有这个模型的几个实例,它们的启动时间各不相同。 我有另一个模型是:

class TimeModel(models.Model):
    time = models.TimeField()

现在我想选择所需的SessionModel实例并更新它们。 但是问题是我想要一个带有TimeModel.time值的复选框的表单,以使用与选定的TimeModel.time相同的starting_time来获取SessionModel中的实例,但是我不知道如何使用动态创建这些复选框表格还是有其他方法可以做到这一点?

1 个答案:

答案 0 :(得分:0)

使用纯Django,如果我理解正确的问题,那么这是一个两步过程。首先,处理表单以选择时间或TimeModel。然后处理一个表单以从查询集中选择从第一个表单返回的值中筛选出的SessionModel。

另一种选择是Javascript客户端解决方案,在该解决方案中,您将未过滤的SessionModel数据以及基于TimeModel的按钮进行过滤,并使用Javascript隐藏SessionModel的选择,除非选择了相关的TimeModel按钮。 。肯定还有更多工作。

您可能还会发现django-filter软件包很有用。尽管通常(至少)与服务器进行两次交互,但它通常可以将这些操作统一为一个视图。