django - 编写 Django 自定义模型字段
问题描述
我想编写一个显示项目大小的自定义字段。比如:“小”、“中”、“大”、“特大”。它必须像 IntegerField 一样是可选的。 这就是我想要的。我不知道我应该在哪里和做什么。
解决方案
您不需要为此定义自定义 Django 模型字段。事实上 Django 已经可以处理了。您可以为此提供一个choices=…
参数 [Django-doc]:
class SomeModel(models.Model):
SIZE_CHOICES = (
(1, 'small'),
(2, 'medium'),
(3, 'large'),
(4, 'extra large'),
)
size = models.IntegerField(choices=SIZE_CHOICES)
然后,ModelForm
您可以使用RadioSelect
小部件 [Django-doc]从选项中进行选择:
class SomeForm(forms.ModelForm):
class Meta:
model = SomeModel
fields = ('size',)
widgets = {
'size': forms.RadioSelect
}
推荐阅读
- javascript - 如何在 react/javascript 的输入框中添加动态文本字段
- solr - 根据构面计数从最低到最高对 solr 进行排序
- python - 我如何制作一个生成推荐动漫列表的程序?
- python - python sqlalchemy对象关系映射失败,因为需要字符串但提供了dict
- html - 在一个 html 表单中处理两个搜索输入
- vba - .range.Formula 的 Concatenate() 到服务器路径
- reactjs - 无法在 react-admin 中更新 SimpleForm TextInput 值
- flutter - 如何在 Flutter 上的 CategoryCard 中添加可点击选项
- amazon-web-services - 似乎无法在 AWS CLI 中正确获取 AWS Rekognition 的格式
- linux - 如何让用户在登录时运行交互式脚本然后注销?