mirror of
https://github.com/frappe/books.git
synced 2024-12-27 20:45:04 +00:00
53 lines
969 B
Markdown
53 lines
969 B
Markdown
# Declaring Models
|
|
|
|
Models are declared by adding a `.js` model file in the `models/doctype` folder of the module/app.
|
|
|
|
Note: A model is called `DocType` in Frappe.js
|
|
|
|
### Fields
|
|
|
|
Every model must have a set of fields (these become database columns). All fields must have
|
|
|
|
- `fieldname`: Column name in database / property name
|
|
- `fieldtype`: Data type ([see details](fields.md))
|
|
- `label`: Display label
|
|
- `required`: Is mandatory
|
|
- `hidden`: Is hidden
|
|
- `disabled`: Is disabled
|
|
|
|
### Example
|
|
|
|
```js
|
|
module.exports = {
|
|
"naming": "random",
|
|
"name": "ToDo",
|
|
"doctype": "DocType",
|
|
"issingle": 0,
|
|
"fields": [
|
|
{
|
|
"fieldname": "subject",
|
|
"label": "Subject",
|
|
"fieldtype": "Data",
|
|
"reqd": 1
|
|
},
|
|
{
|
|
"fieldname": "description",
|
|
"label": "Description",
|
|
"fieldtype": "Text"
|
|
},
|
|
{
|
|
"fieldname": "status",
|
|
"label": "Status",
|
|
"fieldtype": "Select",
|
|
"options": [
|
|
"Open",
|
|
"Closed"
|
|
],
|
|
"default": "Open",
|
|
"reqd": 1
|
|
}
|
|
]
|
|
}
|
|
```
|
|
|