将django.forms.fields.DateField与datetime.date进行比较

时间:2016-04-10 16:07:29

标签: python django datetime

我有一个使用一些值初始化的formset,一个是datetime.date。我想遍历列表并找到一天并禁用它,但第3行的比较失败为一个django DateField而另一个是datetime.date。

def disable_day(formset, disableddate):
    for formelement in formset.forms:
        if disableddate == formelement.fields['date']: # This comparison fails
            formelement.fields["somefield"].widget.attrs['readonly'] = True

如何转换或比较这两种不同的类型?

1 个答案:

答案 0 :(得分:0)

您应该将DateField值与日期时间进行比较,而不是比较datetimecleaned_data个对象。这样的事情应该有效:

def disable_day(formset, disableddate):
    for formelement in formset.forms:
        if formelement.is_valid():
            if disableddate == formelement.cleaned_data['date']:
                formelement.fields["somefield"].widget.attrs['readonly'] = True