4 Commits 0a0cb49386 ... 483c6daea9

Auteur SHA1 Bericht Datum
  yu yang 483c6daea9 add relation model 1 jaar geleden
  yu yang f26a08348e add base model 1 jaar geleden
  yu yang ae8dd6b267 add test model 1 jaar geleden
  yu yang acbe4e596b fix manifest 1 jaar geleden
4 gewijzigde bestanden met toevoegingen van 63 en 1 verwijderingen
  1. 1 1
      my_library/__manifest__.py
  2. 21 0
      my_library/models/base.py
  3. 25 0
      my_library/models/relation.py
  4. 16 0
      my_library/models/test.py

+ 1 - 1
my_library/__manifest__.py

@@ -6,7 +6,7 @@
     'website': "https://www.qidian.com/",
     'category': 'Uncategorized',
     'version': '13.0',
-    'depends': ['base'],
+    'depends': ['base.py'],
     'data': [
         'views/library_book.xml'
     ],

+ 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())