业务关接口名称 接口功能
/api/v1/create/0 创建
/api/v1/unlink/0 删除
/api/v1/write/0 修改
/api/v1/read/0 读取
/api/v1/search_count/0 总数
/api/v1/page/0 分页
登录相关接口名称 接口功能
/api/v1/signup/0 注册
/api/v1/login/0 登陆 参数:'type': '0',
/api/v1/login/0 发送验证码 参数:'type': '2'
自定义接口名称 接口功能
/api/v1/getattr/0 函数接口:可根据需求定制
/api/v1/public_getattr/0 公开的函数接口
查询并分页
# -*- coding: utf-8 -*-
from odoo import api, fields, models, tools, SUPERUSER_ID, _
from datetime import datetime, timedelta
from odoo import api, fields, models, _
from odoo.exceptions import UserError, ValidationError
from odoo.tools.misc import formatLang
from odoo.osv import expression
from odoo.tools import float_is_zero, float_compare
import odoo
import os
import ast
class res_users(models.Model):
_inherit = "job.user"
def _api_page(self, kw):
search = kw.get('search', '')# 查询的关键字
page = kw.get('page', 0) # 查第几页
limit = kw.get('limit', 10) # 每页显示数量
domain = self._get_search_domain(search, kw)
obj_count = self.sudo().search_count(domain)
obj = self.sudo().search(domain, limit=int(limit), offset=int(page) * int(limit),
order=self._get_search_order(kw))
data = {
'search': search,
'data': self._get_list(obj),
'search_count': obj_count,
"errcode": 0,
"errmsg": "ok",
"message": '返回成功',
}
return data
def _get_search_order(self, post):
order = post.get('order') or 'create_date desc'
return '%s, id desc' % order
def _get_search_domain(self, search, kw):
"""
查询条件
:param search:
:param kw:
:return:
"""
domain = ast.literal_eval(kw['domain']) if kw['domain'] is not None else kw['domain']
domains = []
domains.append(domain)
if search:
for srch in search.split(" "):
subdomains = [
[('name', 'ilike', srch)],
[('code', 'ilike', srch)]
]
domains.append(expression.OR(subdomains))
return expression.AND(domains)
def _get_list(self, obj):
list = []
for line in obj:
j = {
"id": line.id,
"name": line.name,
"mobile": line.mobile,
}
list.append(j)
return list