我正在使用OpenERP 7.0.下面的代码来自文件addons/project/security/project_security.xml
请解释我4号,6号和0号的来自哪里?我可以在文档中找到哪个位置?
<record id="group_project_user" model="res.groups">
<field name="name">User</field>
<field name="category_id" ref="base.module_category_project_management"/>
</record>
<record id="group_project_manager" model="res.groups">
<field name="name">Manager</field>
<field name="category_id" ref="base.module_category_project_management"/>
<field name="implied_ids" eval="[(4, ref('group_project_user'))]"/>
<field name="users" eval="[(4, ref('base.user_root'))]"/>
</record>
<record model="ir.ui.menu" id="base.menu_definitions">
<field name="groups_id" eval="[(6,0,[ref('group_project_manager')])]"/>
</record>
Run Code Online (Sandbox Code Playgroud) 我想通过odoo前端或使用后端(postgres查询)来更新我的股票.
我在csv文件中有我的股票价值.
最后,我想要批量更新库存量.
我想从odoo打印标签.为此,我创建了一个自定义纸张格式,并找到了将其链接到我的标签报告的方法.我的标签报告是pdf报告.(当我创建报告时,我可以以默认纸张格式查看它.)
这是自定义纸张格式的代码
<openerp>
<data>
<record id="mymodule_label" model="report.paperformat">
<field name="name">Item Label</field>
<field name="default" eval="True"/>
<field name="format">custom</field>
<field name="page_height">50</field>
<field name="page_width">100</field>
<field name="orientation">Portrait</field>
<field name="margin_top">3</field>
<field name="margin_bottom">3</field>
<field name="margin_left">3</field>
<field name="margin_right">3</field>
<field name="header_line" eval="False"/>
<field name="header_spacing">3</field>
<field name="dpi">80</field>
</record>
</data>
</openerp>
Run Code Online (Sandbox Code Playgroud)
我重复我的问题是如何将这种纸张格式与我的pdf报告联系起来
我想在我的模块中加载与讲师id相关的主题ID.我使用api onchange如下.
@api.onchange('lecturer_id')
def _onchange_lecturer(self):
if self.lecturer_id:
sub_id =[]
a = []
lecturer = self.lecturer_id.id
query = """select op_subject_id from lecturer_subject_rel where op_lecturer_id='%s'""" % lecturer
self.env.cr.execute(query)
a = self.env.cr.fetchall()
d = 0
for i in a:
e = i[0]
sub_id.append(e)
d += 1
return [('subject_id', 'in', sub_id)]
else:
return None
Run Code Online (Sandbox Code Playgroud)
和我的领域的域名.
<field name="subject_id" domain=_onchange_lecturer />
Run Code Online (Sandbox Code Playgroud)
正确的主题ID列表传递.如何根据这些id列表加载主题....?
我使用花括号{}或方括号[]使用两种不同的方法在OpenERP(Odoo)中尝试使用sql_constaints中的unique.两者都很好.哪一个是正确的?
_sql_constraints = {
('email_uniq', 'unique(email)', ' Please enter Unique Email id.')
}
Run Code Online (Sandbox Code Playgroud)
(要么)
_sql_constraints = [
('email_uniq', 'unique(email)', ' Please enter Unique Email id.')
]
Run Code Online (Sandbox Code Playgroud)
PS:但是如果我想使用的不仅仅是约束,它只接受方括号[],就像这个例子一样.
_sql_constraints = [
('email_uniq', 'unique(email)', ' Please enter Unique Email id.'),
('contact_uniq', 'unique(contact)', ' Please enter Unique Mobile no.')
]
Run Code Online (Sandbox Code Playgroud)
它背后的原因是什么?
我创建了一个自定义odoo模块,现在我想创建一个搜索过滤器,可以轻松地同时搜索多个字段.我将此代码添加到我的xml中,我可以单独搜索每个字段,但是希望将它们分组为一个字符串,以便用户可以通过一次搜索搜索所有字段(mfr名称1-6).有人知道这是否可行?
<record id="product_template_search_custom_view" model="ir.ui.view">
<field name="name">product.template.customsearch</field>
<field name="model">product.template</field>
<field name="inherit_id" ref="product.product_template_search_view"/>
<field name="arch" type="xml">
<xpath expr="/search/field[@name='name']" position="before">
<field name="x_mfrname1" string="Mfr Name1"/>
<field name="x_mfrname2" string="Mfr Name2"/>
<field name="x_mfrname3" string="Mfr Name3"/>
<field name="x_mfrname4" string="Mfr Name4"/>
<field name="x_mfrname5" string="Mfr Name5"/>
<field name="x_mfrname6" string="Mfr Name6"/>
</xpath>
</field>
</record>
Run Code Online (Sandbox Code Playgroud) 我已经发送了一些来自营销的电子邮件营销活动,在"Mass Mailings"的详细信息我有"电子邮件"按钮.当我点击它时,我有"邮件ID(技术)","邮件ID","已发送"等列.但我看不到我发送的电子邮件.
我怎么能看到这封电子邮件,我认为这是最重要的信息,因为我无法看到哪个客户打开了电子邮件?
描述
通常,如果更改python代码意味着,则需要重新启动服务器才能应用新更改.
如果--auto-reload参数已启用,则表示您无需重新启动服务器.它可以自动重新加载python文件和xml文件,而无需重新启动服务器.它需要pyinotify.它是一个用于监视文件系统更改的Python模块.
以前的问题
我收到了错误:
ERROR ? pyinotify: add_watch: cannot watch /home/user/.local/share/Odoo/addons/8.0 WD=-1, Errno=No space left on device (ENOSPC)
Run Code Online (Sandbox Code Playgroud)
但我按照这个链接的建议,现在我不再得到这个错误:
sysctl -n -w fs.inotify.max_user_watches=16384
Run Code Online (Sandbox Code Playgroud)
在此之后我在服务器日志中得到了这个:
openerp.service.server: Watching addons folder /opt/odoo_8/src/linked-addons
openerp.service.server: AutoReload watcher running
Run Code Online (Sandbox Code Playgroud)
这意味着它正常工作.事实上,我用一个物理插件路径测试它,它工作.
当前的问题
我的所有模块都有几个文件夹,但我只使用一个插件路径:/opt/odoo_8/src/linked-addons.此文件夹包含我正在使用的模块的所有链接.当我运行Odoo时,所有模块都运行良好.
但问题是pyinotify无法检查链接之外的文件,也不能很好地重新加载文件.我应该怎么做才能解决这个问题?pyinotify有没有办法识别链接的内容?
PD:我不想改变我在Odoo中管理模块文件夹的方式.
我已经做了一些测试:
>>> empty_recordset = self.env['res.users'] # empty recordset
>>> not_empty_recordset = self.env['res.users'].search([('id', '=', 1)]) # recordset with one record
>>> empty_recordset is False
False
>>> empty_recordset is None
False
>>> empty_recordset == False
False
>>> empty_recordset == True
False
>>> bool(empty_recordset)
False
>>> not empty_recordset
True
>>> if empty_recordset: # it is treated as False
... print('hello')
...
>>> bool(not_empty_recordset)
True
>>> if not_empty_recordset:
... print('hello')
...
hello
>>> not not_empty_recordset
False
Run Code Online (Sandbox Code Playgroud)
bool(),返回True或False。> WARNING 11_test1 odoo.addons.base.ir.ir_ui_view: Error-prone use of
> @class in view report_invoice_document
> (account_invoice_report.report_invoice_document): use the
> hasclass(*classes) function to filter elements by their classes
Run Code Online (Sandbox Code Playgroud)
有人可以解释一下我为什么收到此警告。仅在2个地方使用课程。
<td class="text-right">
<span t-esc="', '.join(map(lambda x: (x.description or x.name), l.invoice_line_tax_ids))"/>
</td>
Run Code Online (Sandbox Code Playgroud)
和
<xpath expr="//div[@class='row mt32 mb32']/div[@t-if='o.name']" position="replace"/>
Run Code Online (Sandbox Code Playgroud)