我使用python-docx解析docx文件,然后使用xmlrpc将内容写入odoo res.partner。下面是我的代码:
# -*- coding: utf-8 -*-
from os import listdir
from os.path import isfile, join
from docx import Document
import xmlrpclib
username = 'admin' #the user
pwd = 'password' #the password of the user
dbname = 'odoo8_win' #the database
# OpenERP Common login Service proxy object
sock_common = xmlrpclib.ServerProxy ('http://localhost:8069/xmlrpc/common')
uid = sock_common.login(dbname, username, pwd)
#replace localhost with the address of the server
# OpenERP Object manipulation service
sock = xmlrpclib.ServerProxy('http://localhost:8069/xmlrpc/object')
mypath="D:\py_test_files"
onlyfiles = [ f for f in listdir(mypath) if isfile(join(mypath,f)) ]
#open doc
for file in onlyfiles:
cv_name = mypath + '\\' + file
name = file
document = Document(cv_name)
l = [ paragraph.text.encode('utf-8') for paragraph in document.paragraphs];
for i in l:
cv = u"".join(i.decode('utf-8'))
print cv # correct without problems
partner = {
'name': name,
'cv': cv,
}
#calling remote ORM create method to create a record
partner_id = sock.execute(dbname, uid, pwd, 'res.partner', 'create', partner)简历示例:
教育
新加坡国立大学工商管理学士
运行此python时没有错误,登录odoo查看字段时,只能看到最后一段:
新加坡国立大学工商管理学士
我可以请教一下如何解决这个问题吗?
发布于 2017-12-30 19:01:37
关于您的代码的
合作伙伴={ 'name':name,'cv':cv,}
调用远程ORM create方法创建记录
partner_id = sock.execute(dbname,uid,pwd,'res.partner','create',partner)
如果'cv‘字段是文本,并且它有数据,那么它肯定会工作。
首先确保你的assignemnt变量有正确的数据。
尝试:
partner = {
'name': 'SnippetBucket.com',
'cv': 'ERP Business Solution...',
}
partner_id = sock.execute(dbname, uid, pwd, 'res.partner', 'create', partner)在此过程中,请确保您的简历数据一旦填写完毕,一切都将正常工作。
https://stackoverflow.com/questions/48017705
复制相似问题