# DocField

DocField定义了DocType的一个属性(或字段)。您可以为DocField定义列名、标签、数据类型等。例如,待办事项(ToDo)DocType有字段descriptionstatuspriority。这些最终成为数据库表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

类似于depends_on属性,它决定了字段是否显示,在版本12中我们引入了两个新属性:

  • mandatory_depends_on: 如果满足此条件,字段将为必填。
  • read_only_depends_on: 如果满足此条件,字段将为只读。

Frappe开箱即带超过30种不同的字段类型。这些字段类型适用于多种用例。您可以在下一页了解更多关于字段类型的信息。

最后更新时间: 9/27/2024, 3:24:28 PM