game/addons/game_base/models/page.py
李鹏宇 c6ccc1d50b deploy: 后端模块+前端网站更新,统一线上库名为 game
- game_base: 新增 game.page/page.item 模型(page.py),密码策略加严(>=8位且含字母+数字)
- yt_world: create 改 create_multi;权限扩至 public/portal/user;新增微观世界/资源视图与菜单
- 前端: website/auth/index 等 ?db=yt_game 统一改为 ?db=game(线上库名)
- 新增 deploy_server.sh 一键部署脚本
2026-07-24 10:00:51 +08:00

35 lines
1.3 KiB
Python

# -*- 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='描述')