2
這裏很奇怪的問題。我使用的是django-choices
模塊(V1.3),並定義了一組選項,如下所示:Django選擇:我的一個選擇項目將標籤複製到值
class BreaktimeChoices(DjangoChoices):
BREAKTIME_NONE = ChoiceItem(value=datetime.time(0,0), label=_('none'))
BREAKTIME_15_MIN = ChoiceItem(value=datetime.time(0,15), label=_('15 minutes'))
BREAKTIME_30_MIN = ChoiceItem(value=datetime.time(0,30), label=_('30 minutes'))
BREAKTIME_45_MIN = ChoiceItem(value=datetime.time(0,45), label=_('45 minutes'))
BREAKTIME_1_HOUR = ChoiceItem(value=datetime.time(1,0), label=_('1 hour'))
當我然後把它變成一個形式(至選擇輸入),我注意到標籤是正確的,但BREAKTIME_NONE的值爲'無'(而不是預期的00:00:00
)。當打印BreaktimeChoices.choices
我得到這個:
((<django.utils.functional.__proxy__ object at 0x7f995c306f50>, <django.utils.functional.__proxy__ object at 0x7f995c306f50>),
(datetime.time(0, 15), <django.utils.functional.__proxy__ object at 0x7f995c310f50>),
(datetime.time(0, 30), <django.utils.functional.__proxy__ object at 0x7f995c310bd0>),
(datetime.time(0, 45), <django.utils.functional.__proxy__ object at 0x7f995c310ed0>),
(datetime.time(1, 0), <django.utils.functional.__proxy__ object at 0x7f995c310fd0>))
正如你所看到的,datetime.time(0,0)
已改爲一個__proxy__
對象(翻譯字符串)。更重要的是,該代理的指針地址與此選項的label
值相同。我在我的項目中使用了DjangoChoices
,並且之前沒有遇到過這個問題。有沒有人看過類似的東西?
該死的,即將回復:)無論如何,這裏是修正的提交:https://github.com/bigjason/django-choices/commit/0b00f2e85db9376505503af3c3a75f0cd79e3ae7 – Djizeus