Преглед изворни кода

Merge branch 'dev' of yuyang/practice into master

Admin пре 1 година
родитељ
комит
f5020d3450
3 измењених фајлова са 62 додато и 0 уклоњено
  1. 21 0
      my_library/models/base.py
  2. 25 0
      my_library/models/relation.py
  3. 16 0
      my_library/models/test.py

+ 21 - 0
my_library/models/base.py

@@ -0,0 +1,21 @@
+from odoo import models, fields
+
+class BaseModel(models.AbstractModel):
+    _name = 'BaseModel'
+    _description = 'description of BaseModel'
+    # 共享字段
+    name = fields.Char(string='Name', required=True)
+    description = fields.Text(string='Description')
+
+    def print_info(self):
+        print(f"Name: {self.name}, Description: {self.description}")
+
+
+class MyModel(models.Model):
+    _name = 'my.model'  # 模型名称,应该唯一
+    _description = 'Description of my model'  # 模型描述
+
+    # 继承抽象超类的字段
+    _inherit = 'BaseModel'
+
+    date_created = fields.Date(string='Date Created')  # 模型特有的字段

+ 25 - 0
my_library/models/relation.py

@@ -0,0 +1,25 @@
+from odoo import models, fields
+
+
+class ChildModel1(models.Model):
+    _name = 'child1.model'
+
+    parent_id = fields.Many2one(comodel_name='parent1.model', string='Parent')
+
+
+class ParentModel1(models.Model):
+    _name = 'parent1.model'
+
+    child_ids = fields.One2many(comodel_name='child1.model', inverse_name='parent_id', string='Children')
+
+
+class ChildModel2(models.Model):
+    _name = 'child2.model'
+
+    parent_id = fields.Many2many(comodel_name='parent2.model', string='Parent')
+
+
+class ParentModel2(models.Model):
+    _name = 'parent2.model'
+
+    child_ids = fields.Many2many(comodel_name='child2.model', string='Children')

+ 16 - 0
my_library/models/test.py

@@ -0,0 +1,16 @@
+from odoo import models, fields
+
+
+class TestModel(models.Model):
+    _name = 'test.model'
+    _description = 'description of test.model'
+    field1 = fields.Char()
+    # 默认情况下,字段的标签(用户可见名称)是字段名称的大写版本,可以使用参数覆盖string
+    field2 = fields.Integer(string="Field Label")
+    # 可以通过default参数设置字段的默认值,默认值可以是特定的值,也可以是一个函数。
+    a_field = fields.Char(default="a value")
+
+    def default_value(self):
+        return self.get_value()
+
+    name = fields.Char(default=default_value())