to select ↑↓ to navigate
Framework draft

Framework draft

A DocField defines a property (or a field) of a DocType. You can define the column name, label, datatype and more for DocFields. For instance, a ToDo doctype has fields description, status and priority. These ultimately become columns in the database table tabToDo.

Example

The DocField stores meta-data about the field. Some of them are described below.

[
	{
		label: "Description", // the value shown to the user (Form, Print, etc)
		fieldname: "description", // the property name we refer in code, also the column name
		fieldtype: "Text Editor", // the fieldtype which also decides how to store this value
		reqd: 1, // whether this field is mandatory
	},
	{
		label: "Status",
		fieldname: "status",
		fieldtype: "Select",
		options: ["Open", "Pending", "Closed"],
	},
	{
		label: "Priority",
		fieldname: "priority",
		fieldtype: "Select",
		options: [
			// list of options for select
			"Low",
			"Medium",
			"High",
		],
		default: "Low", // the default value to be set
	},
	{
		label: "Completed By",
		fieldname: "completed_by",
		fieldtype: "Link",
		options: "User",
		depends_on: "eval: doc.status == 'Closed'", // the condition on which this field's display depends
	},
	{
		collapsible: 1,
		collapsible_depends_on: "eval:doc.status!='Closed'", // determines if a Section Break field is collapsible
		fieldname: "sb_details",
		fieldtype: "Section Break",
		label: "Details",
	},
	{
		fieldname: "amount",
		fieldtype: "Currency", // Currency field
		label: "Amount",
		non_negative: 1, // determines whether this field value can be negative
		options: "INR",
	},
];

Similar to the depends_on property which determines whether a field will be displayed or not,
in Version 12 we have introduced two new properties:

  • mandatory_depends_on: If this condition is satisfied, the field will be mandatory.
  • read_only_depends_on: If this condition is satisfied, the field will be read only.

Frappe comes with more than 30 different fieldtypes out-of-the-box.
These fieldtypes serve a variety of use-cases. You can learn more about fieldtypes in the next page.

Last updated 3 weeks ago