“基本字段类型”的版本间的差异
来自Odoo大V社-odoo中文开发手册
第42行: | 第42行: | ||
除了这些,我们还有关系字段,将在本章后面介绍。 但现在,还有更多要了解这些字段类型及其属性。 | 除了这些,我们还有关系字段,将在本章后面介绍。 但现在,还有更多要了解这些字段类型及其属性。 | ||
+ | |||
+ | 上一节:[[创建字段]] | ||
+ | 下一节:[[公共字段属性]] |
2017年5月4日 (四) 05:47的最新版本
我们现在有一个Stage模型,我们将扩展它添加一些额外的字段。 我们应该编辑todo_ui / models / todo_model.py文件并添加额外的字段定义,使它看起来像这样:
class Stage(models.Model): _name = 'todo.task.stage' _description = 'To-do Stage' _order = 'sequence,name' # String fields: name = fields.Char('Name', 40) desc = fields.Text('Description') state = fields.Selection( [('draft','New'), ('open','Started'), ('done','Closed')],'State') docs = fields.Html('Documentation') # Numeric fields: sequence = fields.Integer('Sequence') perc_complete = fields.Float('% Complete', (3, 2)) # Date fields: date_effective = fields.Date('Effective Date') date_changed = fields.Datetime('Last Changed') # Other fields: fold = fields.Boolean('Folded?') image = fields.Binary('Image')
这里,我们有一个Odoo中可用的非关系字段类型的样本,每个字段都有期望的位置参数。
在大多数情况下,第一个参数是字段标题,对应于字符串字段参数; 这用作用户界面标签的默认文本。 它是可选的,如果未提供,将从字段名称自动生成标题。
对于日期字段名称,有使用日期作为前缀的约定。 例如,我们应该使用date_effective字段而不是effective_date。 类似的约定也适用于其他字段,如amount_,price_或qty_。
这些是每个字段类型所期望的标准位置参数:
Char 需要第二个可选的参数大小,以获取最大文本大小。 建议不要使用它,除非有需要它的业务需求,例如固定长度的社会安全号码 Text 不同于Char,因为它可以保存多行文本内容,但期望相同的参数 Selection 是一个下拉选择列表。 第一个参数是可选选项的列表,第二个参数是字符串标题。 选择项是针对存储在数据库中的值和相应的用户界面描述的 ('值','标题')元组的 列表。 当扩展继承时,selection_add参数可用于将新项目附加到现有选择列表。 Html 存储为文本字段,但在用户界面上具有特定的处理,用于HTML内容呈现。 出于安全原因,默认情况下会对其进行清理,但可以覆盖此行为 Integer 只需要字段标题的字符串参数。 Float 有第二个可选参数,一个带有字段精度的(x,y)元组:x是浮点数的总位数,y是小数点位数 Date and Datetime 只需要字符串文本作为位置参数。 由于历史原因,ORM以字符串格式处理它们的值。 辅助函数应该用于将它们转换为实际的日期对象。 此外,datetime值以UTC时间存储在数据库中,但使用用户的时区首选项显示为本地时间。 这在第6章“视图 - 设计用户界面”中有更详细的讨论。 Boolean 保存True或False值,如您所料,并且只有一个字符串文本的位置参数。 Binary 存储文件状二进制数据,并且只需要字符串参数。 它们可以使用base64编码字符串由Python代码处理。
除了这些,我们还有关系字段,将在本章后面介绍。 但现在,还有更多要了解这些字段类型及其属性。
上一节:创建字段 下一节:公共字段属性