我有一个带有一堆字段的模型。其中两个领域有选择。它们看起来像这样:
SNAIL_MAIL_INVOICE_CHOICES = (
('Y', 'Yes'),
('N', 'No'),
)
SNAIL_MAIL_CHOICES = (
('Y', 'Yes'),
('N', 'No'),
)
snailMailOnly = models.CharField(max_length = 3, verbose_name = 'Snail Mail Only?', choices = SNAIL_MAIL_CHOICES, default='Y')
snailMailInvoice = models.CharField(max_length = 3, verbose_name = 'Snail Mail Invoice?', choices = SNAIL_MAIL_INVOICE_CHOICES, default='Y')
当我在Django模板中显示这两个值时,我这样做:
<tr><td>Snail Mail Only?</td><td>{{contact.get_snailMailOnly_display}}</td></tr>
<tr><td>Snail Mail Invoice?</td><td>{{contact.get_snailMailInvoice_display}}</td></tr>
问题是,当第一个字段snailMailOnly
正确显示选项Yes
和No
时,第二个字段snailMailInvoice
仅显示Y
和{{ 1}}。
我在这里做错了什么?
由于
编辑 - 添加联系人型号代码:
N
答案 0 :(得分:0)
根据您发布的代码,没有理由这样做。 “Y”和“N”是SNAIL_MAIL_CHOICES
的显示值吗?您的Web服务器可能没有提取最新的代码。
如果您正在开发中,请尝试终止runserver(CTRL + C)并重新启动它。
如果您正在制作中,请重新启动您的网络服务器并它代理的进程(如果有),例如uwsgi。
您还可以尝试删除项目中存在的任何*.pyc
个文件。 * nix shell中的快速简便方法是(来自您的项目目录):
$ find . -name="*.pyc" -exec rm {}\;
答案 1 :(得分:0)
好的 - 我明白了。
我意识到有一些事实与我的CSV文件中的snailMailInvoice
字段是每行的最后一个字段有关。因此,在该行的末尾有一个回车。我假设这是一个\n
- 因此在我的MySQL命令中导入CSV,我说明terminated by '\n'
。
但是,MySQL在每条线路上都选择了'\ r'并将其添加到snailMailInvoice
字段。因此,每条记录都有一个Y
或N
附加\r
。
我修改了我的MySQL import语句:lines terminated with '\r\n'
现在一切都按预期工作了。
经验教训。
感谢您的帮助。