1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
2
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
4
<html xmlns="http://www.w3.org/1999/xhtml">
6
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
8
<title>ORM methods — openerp v1 documentation</title>
9
<link rel="stylesheet" href="../_static/default.css" type="text/css" />
10
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
11
<script type="text/javascript">
12
var DOCUMENTATION_OPTIONS = {
15
COLLAPSE_MODINDEX: false,
20
<script type="text/javascript" src="../_static/jquery.js"></script>
21
<script type="text/javascript" src="../_static/doctools.js"></script>
22
<link rel="top" title="openerp v1 documentation" href="../index.html" />
23
<link rel="up" title="Objects, Fields and Methods" href="index.html" />
24
<link rel="next" title="Workflows" href="../part_5/index.html" />
25
<link rel="prev" title="Type of Fields" href="field_type.html" />
31
<li class="right" style="margin-right: 10px">
32
<a href="../genindex.html" title="General Index"
33
accesskey="I">index</a></li>
35
<a href="../part_5/index.html" title="Workflows"
36
accesskey="N">next</a> |</li>
38
<a href="field_type.html" title="Type of Fields"
39
accesskey="P">previous</a> |</li>
40
<li><a href="../index.html">openerp v1 documentation</a> »</li>
41
<li><a href="index.html" accesskey="U">Objects, Fields and Methods</a> »</li>
45
<div class="document">
46
<div class="documentwrapper">
47
<div class="bodywrapper">
50
<div class="section" id="orm-methods">
51
<h1>ORM methods<a class="headerlink" href="#orm-methods" title="Permalink to this headline">¶</a></h1>
54
<tt class="descname">create</tt></dt>
57
<table class="docutils field-list" frame="void" rules="none">
58
<col class="field-name" />
59
<col class="field-body" />
61
<tr class="field"><th class="field-name">Description:</th><td class="field-body"></td>
65
<p>Create a new resource</p>
66
<p><strong>Signature:</strong> def create(cr, uid, vals, context={})</p>
67
<p><strong>Parameters:</strong></p>
70
<li>vals: a dictionary of values for every field. This dictionary must use this form: <strong>{‘name_of_the_field’: value, ...}</strong></li>
71
<li>context (optional): the actual context dictionary.</li>
73
<p><strong>Returns:</strong> the id of the newly created resource.</p>
76
<div class="highlight-python"><div class="highlight"><pre><span class="nb">id</span> <span class="o">=</span> <span class="n">pooler</span><span class="o">.</span><span class="n">get_pool</span><span class="p">(</span><span class="n">cr</span><span class="o">.</span><span class="n">dbname</span><span class="p">)</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s">'res.partner.event'</span><span class="p">)</span><span class="o">.</span><span class="n">create</span><span class="p">(</span><span class="n">cr</span><span class="p">,</span> <span class="n">uid</span><span class="p">,</span>
77
<span class="p">{</span><span class="s">'name'</span><span class="p">:</span> <span class="s">'Email sent through mass mailing'</span><span class="p">,</span>
78
<span class="s">'partner_id'</span><span class="p">:</span> <span class="n">partner</span><span class="o">.</span><span class="n">id</span><span class="p">,</span>
79
<span class="s">'description'</span><span class="p">:</span> <span class="s">'The Description for Partner Event'</span><span class="p">})</span>
84
<tt class="descname">search</tt></dt>
87
<table class="docutils field-list" frame="void" rules="none">
88
<col class="field-name" />
89
<col class="field-body" />
91
<tr class="field"><th class="field-name">Description:</th><td class="field-body"></td>
95
<p>Search all the resources which satisfy certain criteria</p>
96
<p><strong>Signature</strong>: def search(self, cr, uid, args, offset=0, limit=2000,order=None,context=None, count=False)</p>
97
<p><strong>Parameters</strong></p>
100
<li><dl class="first docutils">
101
<dt>args: a list of tuples containing the search criteria. This list must be of the form: [(‘name_of_the_field’, ‘operator’, value), ...]. The available operators are:</dt>
102
<dd><ul class="first last simple">
103
<li>=, >, <, <=, >=</li>
105
<li>LIKE, ILIKE (sql)</li>
111
<li><p class="first">offset (optional): do not return the “offset” first results.</p>
113
<li><p class="first">limit (optional): maximum number of results to return.</p>
117
<p><strong>Returns</strong>: the list of ids of matching resources.</p>
119
<div class="highlight-python"><div class="highlight"><pre><span class="n">ids</span> <span class="o">=</span> <span class="n">pooler</span><span class="o">.</span><span class="n">get_pool</span><span class="p">(</span><span class="n">cr</span><span class="o">.</span><span class="n">dbname</span><span class="p">)</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s">'res.partner'</span><span class="p">)</span><span class="o">.</span><span class="n">search</span><span class="p">(</span><span class="n">cr</span><span class="p">,</span> <span class="n">uid</span><span class="p">,</span> <span class="p">[(</span><span class="s">'category_id'</span><span class="p">,</span> <span class="s">'='</span><span class="p">,</span> <span class="s">'Customer'</span><span class="p">)])</span>
122
<p>This example will return a list with all the partners that have the category ‘Customer’.</p>
123
<dl class="describe">
125
<tt class="descname">read</tt></dt>
128
<table class="docutils field-list" frame="void" rules="none">
129
<col class="field-name" />
130
<col class="field-body" />
132
<tr class="field"><th class="field-name">Description:</th><td class="field-body"></td>
136
<p>List of fields resources values.</p>
138
<p><strong>Signature</strong>: def read(self, cr, uid, ids, fields=None, context={})</p>
139
<p><strong>Parameters:</strong></p>
143
<li>ids: list of the identifiers of the resources to read (list of integers).</li>
144
<li>fields (optional): the list of the interested fields. If a value is not provided for this parameter, the function will check all the fields.</li>
145
<li>context (optional): the actual context dictionary.</li>
148
<p><strong>Returns</strong>: A list of dictionaries (a dictionary per resource asked) of the form [{‘name_of_the_field’: value, ...}, ...]</p>
152
<div class="highlight-python"><pre>values = pooler.get_pool(cr.dbname).get('res.partner').
153
read(cr, uid, ids, ['name','category_id'], context=context)</pre>
155
<dl class="describe">
157
<tt class="descname">browse</tt></dt>
160
<table class="docutils field-list" frame="void" rules="none">
161
<col class="field-name" />
162
<col class="field-body" />
164
<tr class="field"><th class="field-name">Description:</th><td class="field-body"></td>
168
<p>Return one or several resources with the objects form. These object fields can be reached directly with the pointed notation (“object.name_of_the_field”). The “relations” fields are also automatically evaluated to allow you to recover the values in the “neighbors” objects.</p>
170
<p><strong>Signature</strong>: def browse(self, cr, uid, select, offset=0, limit=2000)</p>
171
<p><strong>Parameters</strong></p>
174
<li><dl class="first docutils">
175
<dt>select: this parameter accept data of several types:</dt>
176
<dd><ul class="first last simple">
177
<li>an integer : identifier of a resource</li>
178
<li>a list of integers (list of identifiers)</li>
183
<li><p class="first">offset (optional): the number of results to pass.</p>
185
<li><p class="first">limit (optional): the maximum number of results to return.</p>
189
<p><strong>Returns</strong>:</p>
192
<li>if an integer (identifier) has been passed as select parameter, return an object having the properties described here above.</li>
193
<li>if a list of integer (identifiers) has been passed, return the object list.</li>
197
<table class="docutils field-list" frame="void" rules="none">
198
<col class="field-name" />
199
<col class="field-body" />
201
<tr class="field"><th class="field-name">Example:</th><td class="field-body"></td>
205
<p>Let’s consider the case of a partner (object ‘res.partner’) and of a partner contact (object ‘res.partner.address’). Let’s suppose that we know the identifier of a partner contact (name contact_id) and we want to recover his name and the account number of the company he works for.</p>
206
<p>Knowing that the object res.partner contains the field:</p>
207
<div class="highlight-python"><pre>'bank':fields.char('Bank account',size=64),</pre>
209
<p>and the object res.partner.address contains the fields:</p>
210
<div class="highlight-python"><pre>'partner_id': fields.many2one('res.partner', 'Partner', required=True),
211
'name': fields.char('Contact Name', size=64),</pre>
213
<p>the most simple way to proceed is to use the browse method:</p>
214
<div class="highlight-python"><div class="highlight"><pre><span class="n">addr_obj</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">pool</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s">'res.partner.address'</span><span class="p">)</span><span class="o">.</span><span class="n">browse</span><span class="p">(</span><span class="n">cr</span><span class="p">,</span> <span class="n">uid</span><span class="p">,</span> <span class="n">contact_id</span><span class="p">)</span>
217
<p>so, to recover the two fields that interest us, you have to write:</p>
218
<div class="highlight-python"><div class="highlight"><pre><span class="n">name</span> <span class="o">=</span> <span class="n">addr_obj</span><span class="o">.</span><span class="n">name</span>
219
<span class="n">account_num</span> <span class="o">=</span> <span class="n">addr_obj</span><span class="o">.</span><span class="n">partner_id</span><span class="o">.</span><span class="n">bank</span>
222
<div class="admonition note">
223
<p class="first admonition-title">Note</p>
224
<p class="last">This method is only useful locally (on the server itself) and not with the other interfaces !!</p>
226
<dl class="describe">
228
<tt class="descname">write</tt></dt>
231
<table class="docutils field-list" frame="void" rules="none">
232
<col class="field-name" />
233
<col class="field-body" />
235
<tr class="field"><th class="field-name">Description:</th><td class="field-body"></td>
239
<p>Writes values in one or several fields of one or several resources</p>
241
<p><strong>Signature:</strong> def write(self, cr, uid, ids, vals, context={})</p>
242
<p><strong>Parameters:</strong></p>
245
<li>ids: the resources identifiers list to modify.</li>
246
<li>vals: a dictionary with values to write. This dictionary must be with the form: {‘name_of_the_field’: value, ...}.</li>
247
<li>context (optional): the actual context dictionary.</li>
250
<p><strong>Returns:</strong> True</p>
253
<div class="highlight-python"><div class="highlight"><pre><span class="bp">self</span><span class="o">.</span><span class="n">pool</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s">'sale.order'</span><span class="p">)</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="n">cr</span><span class="p">,</span> <span class="n">uid</span><span class="p">,</span> <span class="n">ids</span><span class="p">,</span> <span class="p">{</span><span class="s">'state'</span><span class="p">:</span><span class="s">'cancel'</span><span class="p">})</span>
256
<dl class="describe">
258
<tt class="descname">unlink</tt></dt>
261
<table class="docutils field-list" frame="void" rules="none">
262
<col class="field-name" />
263
<col class="field-body" />
265
<tr class="field"><th class="field-name">Description:</th><td class="field-body"></td>
269
<p>Delete one or several resources</p>
271
<p><strong>Signature:</strong> def unlink(self, cr, uid, ids)</p>
272
<p><strong>Parameters:</strong></p>
275
<li>ids: the identifiers resources list to delete.</li>
278
<p><strong>Returns:</strong> True</p>
281
<div class="highlight-python"><div class="highlight"><pre><span class="bp">self</span><span class="o">.</span><span class="n">pool</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s">'sale.order'</span><span class="p">)</span><span class="o">.</span><span class="n">unlink</span><span class="p">(</span><span class="n">cr</span><span class="p">,</span><span class="n">uid</span><span class="p">,</span> <span class="n">ids</span><span class="p">)</span>
284
<div class="section" id="methods-to-manipulate-the-default-values">
285
<h2>Methods to manipulate the default values<a class="headerlink" href="#methods-to-manipulate-the-default-values" title="Permalink to this headline">¶</a></h2>
286
<dl class="describe">
288
<tt class="descname">default_get</tt></dt>
291
<table class="docutils field-list" frame="void" rules="none">
292
<col class="field-name" />
293
<col class="field-body" />
295
<tr class="field"><th class="field-name">Description:</th><td class="field-body"></td>
299
<p>Get back the value by default for one or several fields.</p>
301
<p><strong>Signature:</strong> def default_get(self, cr, uid, fields, form=None, reference=None)</p>
302
<p><strong>Parameters:</strong></p>
305
<li>fields: the fields list which we want to recover the value by default.</li>
306
<li>form (optional): TODO</li>
307
<li>reference (optional): TODO</li>
310
<p><strong>Returns:</strong> dictionary of the default values of the form {‘field_name’: value, ... }</p>
313
<div class="highlight-python"><div class="highlight"><pre><span class="bp">self</span><span class="o">.</span><span class="n">pool</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s">'hr.analytic.timesheet'</span><span class="p">)</span><span class="o">.</span><span class="n">default_get</span><span class="p">(</span><span class="n">cr</span><span class="p">,</span> <span class="n">uid</span><span class="p">,</span> <span class="p">[</span><span class="s">'product_id'</span><span class="p">,</span><span class="s">'product_uom_id'</span><span class="p">])</span>
316
<dl class="describe">
318
<tt class="descname">default_set</tt></dt>
321
<table class="docutils field-list" frame="void" rules="none">
322
<col class="field-name" />
323
<col class="field-body" />
325
<tr class="field"><th class="field-name">Description:</th><td class="field-body"></td>
329
<p>Change the default value for one or several fields.</p>
331
<p><strong>Signature:</strong> def default_set(self, cr, uid, field, value, for_user=False)</p>
332
<p><strong>Parameters:</strong></p>
335
<li>field: the name of the field that we want to change the value by default.</li>
336
<li>value: the value by default.</li>
337
<li>for_user (optional): boolean that determines if the new default value must be available only for the current user or for all users.</li>
340
<p><strong>Returns:</strong> True</p>
343
<div class="highlight-python"><div class="highlight"><pre><span class="n">TODO</span>
347
<div class="section" id="methods-to-manipulate-the-permissions">
348
<h2>Methods to manipulate the permissions<a class="headerlink" href="#methods-to-manipulate-the-permissions" title="Permalink to this headline">¶</a></h2>
349
<dl class="describe">
351
<tt class="descname">perm_read</tt></dt>
354
<table class="docutils field-list" frame="void" rules="none">
355
<col class="field-name" />
356
<col class="field-body" />
358
<tr class="field"><th class="field-name">Description:</th><td class="field-body"><p class="first"><strong>Signature:</strong> def perm_read(self, cr, uid, ids)</p>
359
<p><strong>Parameters:</strong></p>
362
<li>ids: an integer list</li>
365
<p><strong>Returns:</strong> a list of dictionaries with the following keys</p>
366
<blockquote class="last">
368
<li>level : access level</li>
369
<li>uid : user id</li>
370
<li>gid : group id</li>
371
<li>create_uid: user who created the resource</li>
372
<li>create_date: date when the resource was created</li>
373
<li>write_uid: last user who changed the resource</li>
374
<li>write_date: date of the last change to the resource</li>
381
<dl class="describe">
383
<tt class="descname">perm_write</tt></dt>
386
<table class="docutils field-list" frame="void" rules="none">
387
<col class="field-name" />
388
<col class="field-body" />
390
<tr class="field"><th class="field-name">Description:</th><td class="field-body"><p class="first"><strong>Signature:</strong> def perm_write(self, cr, uid, ids, fields)</p>
391
<p><strong>Parameters:</strong></p>
392
<p class="last"><strong>Returns:</strong></p>
398
<div class="highlight-python"><div class="highlight"><pre><span class="bp">self</span><span class="o">.</span><span class="n">pool</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s">'res.partner'</span><span class="p">)</span><span class="o">.</span><span class="n">perm_read</span><span class="p">(</span><span class="n">cr</span><span class="p">,</span> <span class="n">uid</span><span class="p">,</span> <span class="n">ids</span><span class="p">,</span> <span class="n">context</span><span class="p">)</span>
402
<div class="section" id="methods-to-generate-the-fields-and-the-views">
403
<h2>Methods to generate the fields and the views<a class="headerlink" href="#methods-to-generate-the-fields-and-the-views" title="Permalink to this headline">¶</a></h2>
404
<dl class="describe">
406
<tt class="descname">fields_get</tt></dt>
409
<table class="docutils field-list" frame="void" rules="none">
410
<col class="field-name" />
411
<col class="field-body" />
413
<tr class="field"><th class="field-name">Description:</th><td class="field-body"><p class="first"><strong>Signature:</strong> def fields_get(self, cr, uid, fields = None, context={})</p>
414
<p><strong>Parameters:</strong></p>
417
<li>fields: a list of fields that interest us, if None, all the fields</li>
418
<li>context: context[‘lang’]</li>
421
<p class="last"><strong>Result:</strong></p>
427
<p>In payment.line in account_payment module</p>
428
<div class="highlight-python"><div class="highlight"><pre><span class="k">def</span> <span class="nf">fields_get</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">cr</span><span class="p">,</span> <span class="n">uid</span><span class="p">,</span> <span class="n">fields</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="n">context</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
429
<span class="n">res</span> <span class="o">=</span> <span class="nb">super</span><span class="p">(</span><span class="n">payment_line</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="n">fields_get</span><span class="p">(</span><span class="n">cr</span><span class="p">,</span> <span class="n">uid</span><span class="p">,</span> <span class="n">fields</span><span class="p">,</span> <span class="n">context</span><span class="p">)</span>
430
<span class="k">if</span> <span class="s">'communication2'</span> <span class="ow">in</span> <span class="n">res</span><span class="p">:</span>
431
<span class="n">res</span><span class="p">[</span><span class="s">'communication2'</span><span class="p">]</span><span class="o">.</span><span class="n">setdefault</span><span class="p">(</span><span class="s">'states'</span><span class="p">,</span> <span class="p">{})</span>
432
<span class="n">res</span><span class="p">[</span><span class="s">'communication2'</span><span class="p">][</span><span class="s">'states'</span><span class="p">][</span><span class="s">'structured'</span><span class="p">]</span> <span class="o">=</span> <span class="p">[(</span><span class="s">'readonly'</span><span class="p">,</span> <span class="bp">True</span><span class="p">)]</span>
433
<span class="n">res</span><span class="p">[</span><span class="s">'communication2'</span><span class="p">][</span><span class="s">'states'</span><span class="p">][</span><span class="s">'normal'</span><span class="p">]</span> <span class="o">=</span> <span class="p">[(</span><span class="s">'readonly'</span><span class="p">,</span> <span class="bp">False</span><span class="p">)]</span>
434
<span class="k">return</span> <span class="n">res</span>
437
<dl class="describe">
439
<tt class="descname">fields_view_get</tt></dt>
442
<table class="docutils field-list" frame="void" rules="none">
443
<col class="field-name" />
444
<col class="field-body" />
446
<tr class="field"><th class="field-name">Description:</th><td class="field-body"><p class="first"><strong>Signature:</strong> def fields_view_get(self, cr, uid, view_id=None, view_type=’form’, context={}, toolbar=False)</p>
447
<p><strong>Parameters:</strong></p>
448
<p class="last"><strong>Result:</strong></p>
454
<p>In membership module [product.product]:</p>
455
<div class="highlight-python"><pre>def fields_view_get(self, cr, user, view_id=None, view_type='form', context=None, toolbar=False):
456
if ('product' in context) and (context['product']=='membership_product'):
457
model_data_ids_form = self.pool.get('ir.model.data').search(cr,user,[('model','=','ir.ui.view'),('name','in',
458
['membership_products_form','membership_products_tree'])])
459
resource_id_form = self.pool.get('ir.model.data').
460
read(cr,user,model_data_ids_form,fields=['res_id','name'])
462
for i in resource_id_form:
463
dict_model[i['name']]=i['res_id']
464
if view_type=='form':
465
view_id = dict_model['membership_products_form']
467
view_id = dict_model['membership_products_tree']
468
return super(Product,self).fields_view_get(cr, user, view_id, view_type, context, toolbar)</pre>
470
<dl class="describe">
472
<tt class="descname">distinct_field_get</tt></dt>
475
<table class="docutils field-list" frame="void" rules="none">
476
<col class="field-name" />
477
<col class="field-body" />
479
<tr class="field"><th class="field-name">Description:</th><td class="field-body"><p class="first"><strong>Signature:</strong> def distinct_field_get(self, cr, uid, field, value, args=[], offset=0, limit=2000)</p>
480
<p><strong>Parameters:</strong></p>
481
<p class="last"><strong>Result:</strong></p>
487
<div class="highlight-python"><div class="highlight"><pre><span class="n">TODO</span>
491
<div class="section" id="methods-concerning-the-name-of-the-resources">
492
<h2>Methods concerning the name of the resources<a class="headerlink" href="#methods-concerning-the-name-of-the-resources" title="Permalink to this headline">¶</a></h2>
493
<dl class="describe">
495
<tt class="descname">name_get</tt></dt>
498
<table class="docutils field-list" frame="void" rules="none">
499
<col class="field-name" />
500
<col class="field-body" />
502
<tr class="field"><th class="field-name">Description:</th><td class="field-body"><p class="first"><strong>Signature:</strong> def name_get(self, cr, uid, ids, context={})</p>
503
<p><strong>Parameters:</strong></p>
504
<p class="last"><strong>Result:</strong> a list of tuples of the form [(id, name), ...]</p>
510
<p>In res.partner.address:</p>
511
<div class="highlight-python"><div class="highlight"><pre><span class="k">def</span> <span class="nf">name_get</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">cr</span><span class="p">,</span> <span class="n">user</span><span class="p">,</span> <span class="n">ids</span><span class="p">,</span> <span class="n">context</span><span class="o">=</span><span class="p">{}):</span>
512
<span class="k">if</span> <span class="ow">not</span> <span class="nb">len</span><span class="p">(</span><span class="n">ids</span><span class="p">):</span>
513
<span class="k">return</span> <span class="p">[]</span>
514
<span class="n">res</span> <span class="o">=</span> <span class="p">[]</span>
515
<span class="k">for</span> <span class="n">r</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">read</span><span class="p">(</span><span class="n">cr</span><span class="p">,</span> <span class="n">user</span><span class="p">,</span> <span class="n">ids</span><span class="p">,</span> <span class="p">[</span><span class="s">'name'</span><span class="p">,</span><span class="s">'zip'</span><span class="p">,</span><span class="s">'city'</span><span class="p">]):</span>
516
<span class="n">addr</span> <span class="o">=</span> <span class="nb">str</span><span class="p">(</span><span class="n">r</span><span class="p">[</span><span class="s">'name'</span><span class="p">]</span> <span class="ow">or</span> <span class="s">''</span><span class="p">)</span>
517
<span class="k">if</span> <span class="n">r</span><span class="p">[</span><span class="s">'name'</span><span class="p">]</span> <span class="ow">and</span> <span class="p">(</span><span class="n">r</span><span class="p">[</span><span class="s">'zip'</span><span class="p">]</span> <span class="ow">or</span> <span class="n">r</span><span class="p">[</span><span class="s">'city'</span><span class="p">]):</span>
518
<span class="n">addr</span> <span class="o">+=</span> <span class="s">', '</span>
519
<span class="n">addr</span> <span class="o">+=</span> <span class="nb">str</span><span class="p">(</span><span class="n">r</span><span class="p">[</span><span class="s">'zip'</span><span class="p">]</span> <span class="ow">or</span> <span class="s">''</span><span class="p">)</span> <span class="o">+</span> <span class="s">' '</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">r</span><span class="p">[</span><span class="s">'city'</span><span class="p">]</span> <span class="ow">or</span> <span class="s">''</span><span class="p">)</span>
520
<span class="n">res</span><span class="o">.</span><span class="n">append</span><span class="p">((</span><span class="n">r</span><span class="p">[</span><span class="s">'id'</span><span class="p">],</span> <span class="n">addr</span><span class="p">))</span>
521
<span class="k">return</span> <span class="n">res</span>
524
<dl class="describe">
526
<tt class="descname">name_search</tt></dt>
529
<table class="docutils field-list" frame="void" rules="none">
530
<col class="field-name" />
531
<col class="field-body" />
533
<tr class="field"><th class="field-name">Description:</th><td class="field-body"><p class="first"><strong>Signature:</strong> def name_search(self, cr, uid, name=, args=[], operator=’ilike’, context={})</p>
534
<p><strong>‘Parameters:</strong></p>
535
<p class="last"><strong>Result:</strong></p>
541
<p>In res.country:</p>
542
<div class="highlight-python"><div class="highlight"><pre><span class="k">def</span> <span class="nf">name_search</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">cr</span><span class="p">,</span> <span class="n">user</span><span class="p">,</span> <span class="n">name</span><span class="o">=</span><span class="s">''</span><span class="p">,</span> <span class="n">args</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="n">operator</span><span class="o">=</span><span class="s">'ilike'</span><span class="p">,</span>
543
<span class="n">context</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="n">limit</span><span class="o">=</span><span class="mf">80</span><span class="p">):</span>
544
<span class="k">if</span> <span class="ow">not</span> <span class="n">args</span><span class="p">:</span>
545
<span class="n">args</span><span class="o">=</span><span class="p">[]</span>
546
<span class="k">if</span> <span class="ow">not</span> <span class="n">context</span><span class="p">:</span>
547
<span class="n">context</span><span class="o">=</span><span class="p">{}</span>
548
<span class="n">ids</span> <span class="o">=</span> <span class="bp">False</span>
549
<span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">name</span><span class="p">)</span> <span class="o">==</span> <span class="mf">2</span><span class="p">:</span>
550
<span class="n">ids</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">search</span><span class="p">(</span><span class="n">cr</span><span class="p">,</span> <span class="n">user</span><span class="p">,</span> <span class="p">[(</span><span class="s">'code'</span><span class="p">,</span> <span class="s">'='</span><span class="p">,</span> <span class="n">name</span><span class="p">)]</span> <span class="o">+</span> <span class="n">args</span><span class="p">,</span>
551
<span class="n">limit</span><span class="o">=</span><span class="n">limit</span><span class="p">,</span> <span class="n">context</span><span class="o">=</span><span class="n">context</span><span class="p">)</span>
552
<span class="k">if</span> <span class="ow">not</span> <span class="n">ids</span><span class="p">:</span>
553
<span class="n">ids</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">search</span><span class="p">(</span><span class="n">cr</span><span class="p">,</span> <span class="n">user</span><span class="p">,</span> <span class="p">[(</span><span class="s">'name'</span><span class="p">,</span> <span class="n">operator</span><span class="p">,</span> <span class="n">name</span><span class="p">)]</span> <span class="o">+</span> <span class="n">args</span><span class="p">,</span>
554
<span class="n">limit</span><span class="o">=</span><span class="n">limit</span><span class="p">,</span> <span class="n">context</span><span class="o">=</span><span class="n">context</span><span class="p">)</span>
555
<span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">name_get</span><span class="p">(</span><span class="n">cr</span><span class="p">,</span> <span class="n">user</span><span class="p">,</span> <span class="n">ids</span><span class="p">,</span> <span class="n">context</span><span class="p">)</span>
565
<div class="sphinxsidebar">
566
<div class="sphinxsidebarwrapper">
567
<h3><a href="../index.html">Table Of Contents</a></h3>
569
<li><a class="reference external" href="">ORM methods</a><ul>
570
<li><a class="reference external" href="#methods-to-manipulate-the-default-values">Methods to manipulate the default values</a></li>
571
<li><a class="reference external" href="#methods-to-manipulate-the-permissions">Methods to manipulate the permissions</a></li>
572
<li><a class="reference external" href="#methods-to-generate-the-fields-and-the-views">Methods to generate the fields and the views</a></li>
573
<li><a class="reference external" href="#methods-concerning-the-name-of-the-resources">Methods concerning the name of the resources</a></li>
578
<h4>Previous topic</h4>
579
<p class="topless"><a href="field_type.html"
580
title="previous chapter">Type of Fields</a></p>
582
<p class="topless"><a href="../part_5/index.html"
583
title="next chapter">Workflows</a></p>
585
<ul class="this-page-menu">
586
<li><a href="../_sources/part_4/methods.txt"
587
rel="nofollow">Show Source</a></li>
589
<div id="searchbox" style="display: none">
590
<h3>Quick search</h3>
591
<form class="search" action="../search.html" method="get">
592
<input type="text" name="q" size="18" />
593
<input type="submit" value="Go" />
594
<input type="hidden" name="check_keywords" value="yes" />
595
<input type="hidden" name="area" value="default" />
597
<p class="searchtip" style="font-size: 90%">
598
Enter search terms or a module, class or function name.
601
<script type="text/javascript">$('#searchbox').show(0);</script>
604
<div class="clearer"></div>
606
<div class="related">
609
<li class="right" style="margin-right: 10px">
610
<a href="../genindex.html" title="General Index"
613
<a href="../part_5/index.html" title="Workflows"
616
<a href="field_type.html" title="Type of Fields"
618
<li><a href="../index.html">openerp v1 documentation</a> »</li>
619
<li><a href="index.html" >Objects, Fields and Methods</a> »</li>
623
© Copyright 2009, openerp.
624
Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 0.6.1.
b'\\ No newline at end of file'