xmlrpc(PHP with ripcord library)が渡した情報からレコードを作成するためのカスタムモデルを用意していますが、PHPを実行するとodooコンソールから次のエラーが返されます:トラブリングメソッドXMLRPC - Odoo v9
私は渡している"cannot marshal recursive dictionaries" TypeError: cannot marshal recursive dictionaries "
データは、データベース内のテキストフィールドに格納されている「JSON」ですので、最初に私は、クエリを解決し、DBからデータを取得し、XMLRPC
を通じてOdooするためにそれを送信しようここに私のコードです:
t_form_mainモデル
class t_form_main(models.Model):
_name = "t_form_main"
_rec_name = "form_uid"
_order = "form_uid"
form_uid = fields.Char(string="ID",required=True)
json_string = fields.Text(string="JSON_original", required=True)
@api.one
def infoReceptor(self,info_uid,json_data):
vals = {}
vals['form_uid'] = info_uid
vals['json_string'] = json_data
return super(t_form_main,self).create(vals)
私はXMLRPCを呼び出すために使用しているPHP文:
$insert = $models->execute_kw($db, $uid, $password,'t_form_main','infoReceptor', array(self,"UID",$data));
がこのクエリからのデータを格納する変数として$のデータを考慮:
$query = "SELECT raw_json FROM json_archive";
$result = $mysqlconn->query($query);
$row = $result->fetch_array(MYSQLI_ASSOC);
SOLUTION:
をコードが正しく、DBのコード化の問題が原因で、あなたのアドバイスのPhillip Stackのおかげで私の機能の復帰でce。
コメントありがとうございますが、リターンの出力を向上させるだけです。私は自分の問題を解決しました、DBのコード化の問題でした – NMenam