Struct ExecuteKw

Source
pub struct ExecuteKw {
    pub database: String,
    pub uid: OdooId,
    pub password: String,
    pub model: String,
    pub method: String,
    pub args: Vec<Value>,
    pub kwargs: Map<String, Value>,
}
Expand description

Call a business-logic method on an Odoo model (positional & keyword args)

This method is very similar to execute; It allows you to call an arbitrary Odoo method (e.g. read or create or my_function), passing some arbitrary data, and returns the result of that method call.

This differs from execute in that keyword args (kwargs) can be passed.

§Execute:

use odoo_api::{jvec, jmap};

// read `id` and `login` from any user whose email matches "%@example.com"
client.execute_kw(
    "res.users",
    "search_read",
    jvec![
        [["login", "=ilike", "%@example.com"]]
    ],
    jmap!{
        "fields": ["id", "login"]
    }
).send()?;

§Arguments

§method

The method field indicates the Python function to be called. This can be any non-private method. Methods starting with an underscore (e.g. _onchange_name) are considered to be “private”.

§args and kwargs

The method args (position and keyword) are passed to Python as (*args, **kwargs).

For example:

## this function...
def search_read(self, domain, fields=None):
    pass

## ...would be called like
model.search_read(*args, **kwargs)

This is much simpler than Execute.

Also note that many Odoo methods accept self as the first param. In that case, you should pass a list of IDs as the first element.


Reference: odoo/service/model.py

Fields§

§database: String

The database name (auto-filled by OdooClient)

§uid: OdooId

The user id (auto-filled by OdooClient)

§password: String

The user password (auto-filled by OdooClient)

§model: String

The model name

§method: String

The method name

§args: Vec<Value>

The positional arguments

§kwargs: Map<String, Value>

The keyword argments

Trait Implementations§

Source§

impl Debug for ExecuteKw

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl JsonRpcParams for ExecuteKw

Source§

impl OdooApiMethod for ExecuteKw

Source§

fn describe(&self) -> (&'static str, &'static str)

Describe the JSON-RPC service and method for this type
Source§

fn endpoint(&self) -> &'static str

Describe method endpoint (e.g., “/web/session/authenticate”)
Source§

fn _build(self, id: JsonRpcId) -> JsonRpcRequest<Self>

Build self into a full JsonRpcRequest
Source§

impl Serialize for ExecuteKw

Source§

fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where S: Serializer,

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

impl<T> ErasedDestructor for T
where T: 'static,