# DocField
DocField定义了DocType的一个属性(或字段)。您可以为DocField定义列名、标签、数据类型等。例如,待办事项(ToDo)DocType有字段description、status和priority。这些最终成为数据库表tabToDo中的列。
示例
DocField存储有关字段的元数据。以下是一些描述。
[
{
"label": "描述", # 向用户显示的值(表单、打印等)
"fieldname": "description", # 我们在代码中引用的属性名,也是列名
"fieldtype": "Text Editor", # 也决定如何存储这个值的字段类型
"reqd": 1 # 此字段是否为必填
},
{
"label": "状态",
"fieldname": "status",
"fieldtype": "Select",
"options": [
"Open",
"Pending",
"Closed"
]
},
{
"label": "优先级",
"fieldname": "priority",
"fieldtype": "Select",
"options": [ # 下拉选择的选项列表
"Low",
"Medium",
"High"
],
"default": "Low" # 默认值
},
{
"label": "完成者",
"fieldname": "completed_by",
"fieldtype": "Link",
"options": "User",
"depends_on": "eval: doc.status == 'Closed'", # 此字段的显示依赖的条件
},
{
"collapsible": 1,
"collapsible_depends_on": "eval:doc.status!='Closed'", # 确定一个节是否可折叠
"fieldname": "sb_details",
"fieldtype": "Section Break",
"label": "详细信息"
},
{
"fieldname": "amount",
"fieldtype": "Currency", # 货币字段
"label": "金额",
"non_negative": 1, # 确定此字段值是否可以为负
"options": "INR",
}
]
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
类似于depends_on属性,它决定了字段是否显示,在版本12中我们引入了两个新属性:
mandatory_depends_on: 如果满足此条件,字段将为必填。read_only_depends_on: 如果满足此条件,字段将为只读。
Frappe开箱即带超过30种不同的字段类型。这些字段类型适用于多种用例。您可以在下一页了解更多关于字段类型的信息。