python - 小数字段的选择
问题描述
模型.py
class SomeModel(models.Model):
price = models.DecimalField(decimal_places=1, max_digits=8)
表格.py
class SomeForm(forms.ModelForm):
title = forms.CharField(label=_("Title"), required=False)
price = forms.ChoiceField(choices=[], label=_("Price"))
class Meta:
model = SomeModel
exclude = ('some_fields',)
def __init__(self, min_price = 10, *args, **kwargs):
super(SomeForm, self).__init__(*args, **kwargs)
price_field = self.fields['price']
price_field.choices = (
(i, i) for i in xrange(min_price, 200, 5))
这会引发错误,因为表单发布时的价格值是一个字符串,它没有保存在Decimal
模型的字段中。
生成器的类型转换在这里不起作用。解决方案是什么?
解决方案
推荐阅读
- android - 内存泄漏检测和循环
- reactjs - 反应本机选项卡导航屏幕标题未显示
- file - 是否可以查看存储的文件由什么序列的 1 和 0 组成?
- python - 使字典列表中的字典长度相等
- excel - 如何将这些硬编码的单元格引用更改为动态引用?
- node.js - 错误:运行 npm install pg 后找不到模块“pg”
- spring-boot - Pivotal Cloud Foundry Plus MySql DB
- java - 在 Firebase Firestore onCompletelistener 获取要列出的数据之前,CreateView 方法上的自定义对话框返回
- ios - 用 UILabel 的子类覆盖 UIButton 中的 titleLabel
- android - 为多个 sdk 版本编译