Different type of fields used in developing module
name = fields.Char(string="School Name", help="This is school name")
email = fields.Char(string="Email")
phone = fields.Char(string="Phone")
school_rank = fields.Integer(string="Rank", default=lambda lm:lm.get_default_rank())
is_virtual = fields.Boolean()
results = fields.Float(string="results", default=0.00, help="This is tool tip", readonly=True)
address = fields.Text(string="Address", help="This is school permanent address", default="Pakistan", trim=False)
establish_date = fields.Date(string="Establish Date")
open_date = fields.Datetime("Open Date", default=fields.Datetime.now())
2. Upload any format file.
documents = fields.Binary(string="Document")
# to display file_name
document_name = fields.Char(string="File Name")
Show in the XML file.
<group>
<field name="documents" filename="document_name"/>
<field name="document_name" />
</group>
3. Upload only the image
# Image field
# we have to define some parameter in this field so it will display image
# otherwise it will took it as Binary field
# By default verify_resolution is True.when we use it with False that feild nature change
# to binary field
school_image = fields.Image(string="Upload School Image", max_width=100, max_height=100)
Show in the XML file
<group>
<field name="school_image" widget="image" />
</group>
4. Editor-like summer-note field
# Editor text-area
school_description = fields.Html(string="About School")
Show in the XML file
<group>
<field name="school_description" />
</group>
Different attributes use in fields
1. Caracter field with tooltip ie. help="This is school name"
name = fields.Char(string="School Name", help="This is school name")
2. Read Only field
readonly=True
name = fields.Char(string="School Name", help="This is school name", readonly=True)
3. Required field
required = True
name = fields.Char(string="School Name", required=True)
4. Assign default value to field
default="some default value"
name = fields.Char(string="School Name", default="Oriel")
set default value of date time field
default=fields.Datetime.now()
5. max character support in field
size=15
name = fields.Char(string="School Name", size=15)
6. Index fields
Indexing is used to specify the column of a table used to get data, fast. By default it is false.
index=True
name = fields.Char(string="School Name", index=True)
7. Trim field
Not remove extra spaces
trim=False
name = fields.Char(string="School Name", trim=False)
8. Change the labeling of the field from xml form view
<field name="name" string="From XML Change" />
9. Make field readonly, required, placeholder in xml view form
<field name="email" readonly="1" />
<field name="email" required="1" />
<field name="email" placeholder="abc@example.com" />
10. Hide field using invisible attribute
<field name="email" invisible="1" />
11. Set the default value of a field by calling the method
school_rank = fields.Integer(string="Rank", default=lambda lm:lm.get_default_rank())
def get_default_rank(self):
if 1 == 1:
return 200
else:
return 100
Apply the above attributes in XML page
1. Change the field labeling.
string="This is the label"
2. Readonly
readonly="1"
3. Hide field
invisible ="1"
4. Required field
required="1"
Comments
Post a Comment