|
- import json
- import random
- import requests
-
- server_url = 'http://localhost:9999'
- db_name = 'library_13'
- username = 'user2'
- password = '098iop'
-
- json_endpoint = "%s/jsonrpc" % server_url
- headers = {"Content-Type": "application/json"}
-
-
- def get_json_payload(service, method, *args):
- return json.dumps({"jsonrpc": "2.0", "method": 'call', "params": {
- "service": service,
- "method": method,
- "args": args
- }, "id": random.randint(0, 100000000), })
-
-
- payload = get_json_payload("common", "login", db_name, username, password)
- response = requests.post(json_endpoint, data=payload, headers=headers)
- user_id = response.json()['result']
-
- # if user_id:
- # # 搜索图书id
- # search_domain = ['|', ['name', 'ilike', '大圣归来'], ['name', 'ilike', 'sql']]
- # payload = get_json_payload("object", "execute_kw", db_name, user_id, password, 'library.book',
- # 'search', [search_domain], {'limit': 5})
- # res = requests.post(json_endpoint, data=payload, headers=headers).json()
- # print('Search Result:', res) # ids will be in result keys
- #
- # # 为图书id 读取数据
- # payload = get_json_payload("object", "execute_kw", db_name, user_id, password, 'library.book',
- # 'read', [res['result'], ['name', 'date_release']])
- # res = requests.post(json_endpoint, data=payload, headers=headers).json()
- # print('Books data:', res)
- # else:
- # print("Failed: wrong credentials")
-
-
- if user_id:
- # 对图书 id 进行搜索和读取
- search_domain = ['|', ['name', 'ilike', '大圣归来'], ['name', 'ilike', 'sql']]
- payload = get_json_payload("object", "execute_kw", db_name, user_id, password, 'library.book',
- 'search_read', [search_domain, ['name', 'date_release']], {'limit': 5}) #使用search_read()方法来代替 search() 和 read()方法的组合
- res = requests.post(json_endpoint, data=payload, headers=headers).json()
- print('Books data:', res)
- else:
- print("Failed: wrong credentials")
|