# -*- coding: utf-8 -*- from odoo import models, fields class GamePage(models.Model): """页面板块:官网单页(特色 / 背景 / 致玩家等)的容器。""" _name = 'game.page' _description = '页面板块' _order = 'sequence asc' _rec_name = 'title' key = fields.Char(string='标识', required=True, index=True, help='前端按 key 取板块,如 features / background / letter') title = fields.Char(string='标题', required=True) subtitle = fields.Char(string='副标题') sequence = fields.Integer(string='排序', default=10) body_html = fields.Html(string='正文', sanitize=True) active = fields.Boolean(string='生效', default=True) item_ids = fields.One2many('game.page.item', 'page_id', string='条目') class GamePageItem(models.Model): """页面板块下的条目(卡片)。""" _name = 'game.page.item' _description = '页面条目' _order = 'sequence asc' _rec_name = 'title' page_id = fields.Many2one('game.page', string='所属板块', required=True, ondelete='cascade', index=True) sequence = fields.Integer(string='排序', default=10) icon = fields.Char(string='图标', help='emoji 或符号,如 🌐 / ✦') title = fields.Char(string='标题', required=True) desc = fields.Text(string='描述')