|
|
1
179
seen here . 然后,您可以使用表示正确整数的单词。 像这样:
用法将是
|
|
|
2
19
从Django 3.0开始,您可以使用:
|
|
|
3
7
我可能会一劳永逸地设置反向查找dict,但如果没有设置,我只会使用:
这似乎比在飞行中构建dict只是为了再次扔掉它更简单;-)。 |
|
|
4
7
这是我几分钟前写的一个字段类型,我认为它符合您的要求。它的构造函数需要一个参数“choices”,它可以是一个2元组的元组,格式与IntegerField的choices选项相同,也可以是一个简单的名称列表(即ChoiceField(('Low','Normal','High'),default='Low'))。该类为您负责从字符串到int的映射,您永远看不到int。
|
|
|
5
6
我欣赏这种不断的定义方式,但我相信 Enum 类型是最适合此任务的类型。它们可以同时表示项目的整数和字符串,同时使代码更具可读性。
枚举是在3.4版Python中引入的。如果您使用的是任何较低版本(如v2.x),您仍然可以通过安装
backported package
:
这差不多就是全部。你可以继承遗产
正如你可能猜到的那样,查询是锦上添花:
用字符串表示它们也很容易:
|
|
|
6
4
像这样使用它:
|
|
|
7
3
模型的“选项”选项接受一个由恰好两个项(例如[(a,B),(a,B)…])的iterables组成的序列,以用作此字段的选项。 此外,Django还提供 enumeration types 您可以子类化以简洁的方式定义选项:
Django支持在此元组的末尾添加一个额外的字符串值,用作人类可读的名称或标签。标签可以是惰性的可翻译字符串。
注意:您可以使用
你需要导入
|
|
|
8
1
只需将数字替换为所需的可读值即可。像这样的:
这使它具有可读性,但是,您必须定义自己的顺序。 |
|
|
9
1
我的答案很晚了,对于现在的Django专家来说可能很明显,但是对于来到这里的任何人来说,我最近发现了Django模型UTIL带来的一个非常优雅的解决方案: https://django-model-utils.readthedocs.io/en/latest/utilities.html#choices 此软件包允许您使用三个元组定义选项,其中:
下面是您可以做的:
这种方式:
享受:) |
|
|
10
0
最初,我使用了@Allan答案的修改版本:
简化为
|
|
|
Patrick Bond · 如何将模型中的函数结果添加到列表中? 1 年前 |
|
|
bur · 每次从模板调用方法都会查询数据库吗? 1 年前 |
|
|
Stefan · 在子目录中设置Django 1 年前 |
|
|
vale383 · 如何在Django端点中查找user_id 1 年前 |
|
|
Kovy Jacob · Django在动态URL段中添加斜线 1 年前 |
|
|
user987 · 如何在Django中访问提交的表单请求数据 1 年前 |
|
|
user24242514 · 将嵌套查询字符串请求转换为字典 1 年前 |