gpt4 book ai didi

django - 如何在 Django 中将两个模型字段表示为一个表单字段?

转载 作者:行者123 更新时间:2023-12-03 23:51:13 24 4
gpt4 key购买 nike

我似乎无法弄清楚如何在 Django 中正确处理以下情况:

我在模型中有一个日期范围,我将其存储为两个单独的字段,date_startdate_end :

start_date = models.DateTimeField()
end_date = models.DateTimeField()

在此模型的表单中,我想将其表示为 一个领域 ,带有一个标签:
timespan = forms.Field(widget=widgets.SelectDateRangeWidget(), label="Date Range")

就像现在一样,我扩展了 MultiWidget 来创建 SelectDateRangeWidget :
class SelectDateRangeWidget(forms.MultiWidget):
...

然后合并两个 Date小部件。我想使用它,然后将其清理为两个单独的模型字段,并保留将初始数据加载到表单字段中的能力。手动设置是唯一的方法 initial每次都到这两个字段的值,可能在 __init__表单的功能,并手动将其清理到这两个模型字段中,或者是否有更清洁的(可以这么说)方法来做到这一点?

最佳答案

在 django 中使用当前的小部件 API 似乎是不可能的。这张票是最老的django票之一,已经7岁了:https://code.djangoproject.com/ticket/27 .

您可以从模型表单中排除原始 2 个字段,创建一个新字段并覆盖表单的保存方法。

关于django - 如何在 Django 中将两个模型字段表示为一个表单字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9333406/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com