目前,我正在学习odoo。我想知道ir.ui.view?
这是我的示例代码
<record model="ir.ui.view" id="course_search_view">
<field name="name">course.search</field>
<field name="model">openacademy.course</field>
<field name="arch" type="xml">
<search>
<field name="name"/>
<field name="description"/>
</search>
</field>
</record>
Run Code Online (Sandbox Code Playgroud) 我创建了一个具有正常设置的模块,该模块显示了表单视图和树视图.默认行为是首先显示表单视图.我需要更改它并将树视图显示为默认视图.
我尝试使用序列属性并使用不同的值更改值,但它没有解决问题
<field name="sequence" >1</field>
Run Code Online (Sandbox Code Playgroud)
另外,我试图更改view_mode属性中的顺序:
<field name="view_mode" >tree,form</field>
Run Code Online (Sandbox Code Playgroud) 这是我的文件,其中包含模板 'website_fb.fb_shared_post'
Qweb.add_template('website_fb_redertemplate.xml');
Run Code Online (Sandbox Code Playgroud)widget所以现在如果调用它widget然后怎么做。我参考了Odoo文档,但对我来说没有什么可以理解的,所以请帮助我。
var RenderTemplate = Widget.extend({
template: 'website_fb.fb_shared_post',
events: {
// DO some code
},
init: function (el) {
// DO some code
},
start: function () {
// DO some code
}
});
Run Code Online (Sandbox Code Playgroud)我尝试使用 --test-enable 运行 odoo 测试,但它不起作用。我有一些问题。
根据文档测试只能在模块安装期间运行,当我们添加功能然后想要运行测试时会发生什么?
是否可以从像 Pycharm 这样的 IDE 运行测试?
我和Odoo一起工作(第9节).我有自定义:表单(用于模型1),操作和弹出窗体(用于模型2).这里的示例主要形式:
<record id="my_id_form" model="ir.ui.view">
<field name="name">my_name_form</field>
<field name="model">my_model_one</field>
<field name="arch" type="xml">
<form string="Name">
<sheet>
<group>
<field name="partner_id"/>
<!-- button which open popup with my_model_two -->
<button string="Open popup"
name="%(my_module.action_open_popup)d"
type="action"
class="btn-link"/>
</group>
</sheet>
</form>
</field>
</record>
Run Code Online (Sandbox Code Playgroud)
按钮的窗口操作打开弹出窗口:
<record id="action_open_popup" model="ir.actions.act_window">
<field name="name">action name</field>
<field name="res_model">my_model_two</field>
<field name="view_id" ref="model_two_form_popup"/>
<!--
How I can send partner_id from main form to popup?
I tried different ways in context field, but all in vain
<field name="context">{'default_partner_id': ?????,}</field>
-->
<field name="target">new</field>
</record>
Run Code Online (Sandbox Code Playgroud)
示例 …
我得到了一个数据库备份(带有文件存储),filestore文件夹和另一个包含该数据库上已安装模块的文件夹.
我希望在没有更多数据的情况下在Odoo 8中恢复该备份.所以我所做的是创建拥有数据库表并赋予其足够权限(登录,创建,复制)的PostgreSQL角色.然后我创建了一个Odoo配置文件.在这里,我设置了这个新的PostgreSQL角色db_user和密码db_password.我添加了存储文件存储data_dir的路径,以及包含所有模块的文件夹的路径addons_path.
由于没有给出启动器文件,我复制了其他Odoo实例的OCB文件夹,并使用其odoo.py文件启动Odoo.
新实例似乎运行良好,但现在我刚刚恢复了数据库,我收到此错误:
QWebException: "'HttpRequest' object has no attribute 'endpoint_arguments'" while evaluating
'website.get_alternate_languages(request.httprequest)'
Run Code Online (Sandbox Code Playgroud)
我在google搜索了很多,但除了在其他论坛中没有回答的问题外,我无法找到任何关于它的信息.
有谁知道这是关于什么的?
产品模块中定义了以下记录规则
<data noupdate="1">
<record id="product_comp_rule" model="ir.rule">
<field name="name" >Product multi-company</field>
<field name="model_id" ref="model_product_template"/>
<field name="global" eval="True"/>
<field name="domain_force"> ['|',('company_id','=',user.company_id.id),('company_id','=',False)]</field>
</record>
</data>
Run Code Online (Sandbox Code Playgroud)
我想在我的自定义模块中将其编辑为
<record id="product.product_comp_rule" model="ir.rule">
<field name="name" >All Products (Parent Company)</field>
<field name="model_id" ref="product.model_product_template"/>
<field name="global" eval="True"/>
<field name="domain_force">['|','|',('company_id','=',user.company_id.id),('company_id','=','False'),('company_id','child_of',[user.company_id.id])] </field>
</record>
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用 python 通过 Odoo 的 xml-rpc api 导入一些 Product.templates 和它们的 product.variants。
实际上我的代码正在创建 Product.templates 及其 attribute.line.ids 非常好,但不知何故 product.variants 没有创建,所以只有一个 product.variant 被创建而没有任何属性。我不知道如何正确地做到这一点。
所以首先我创建一个 product.template 如下(为了使它简短,只在此处插入名称):
id = models.execute_kw(db, uid, password, 'product.template', 'create', [{
'name': "New Partner",
}])
Run Code Online (Sandbox Code Playgroud)
之后我像这样添加attribute.line.ids:
for key in attValIdList.keys():
attribute_line = models.execute_kw(db, uid, password, 'product.attribute.line', 'create', [{
'product_tmpl_id': id,
'attribute_id': key,
'value_ids': [(6, 0, attValIdList[key])]
}])
Run Code Online (Sandbox Code Playgroud)
所以 attValidKeys 是一个包含字典的列表,我在其中存储了 attribute_id 和它们的 attribute_value_id。
所以这部分被正确填充。但是没有 product.variants 从 product.line.ids 中创建出来。
实际上添加具有属性的 product.product 也工作正常,但后来我遇到了问题,这个没有任何属性的随机 product.product 是自动创建的..
如果你们能帮我解决这个问题,那就太好了。
目前我正在使用odoov8,我的问题是我已经根据我的要求从xml代码创建了许多过滤器,并且一切正常,但我一次只能选择一个过滤器.
所以例如我想在树视图中应用任何3个过滤器,然后我需要选择第一个,然后系统加载数据,然后我选择第二个然后第三个过滤器,因此系统在应用每个过滤器后加载.
我希望实现这一点,如果我可以一次选择所有我的过滤器然后我可以应用搜索,所以系统加载申请搜索后,无论花多少时间,但我不应该要求搜索单个过滤器.
所以有任何自定义模块或方式,我可以从中实现这一点.
提前致谢 .
我创建了一个名为 的新模型product.service.type。然后,在product.product模型中,我还创建了一个Many2many字段(名为service_type,指向product.service.type模型)。
现在我有了 model test,它有product_id和service_type_id字段,分别Many2one指向product.product和product.service.type。
我想要的是,如果您选择一个产品,服务类型域将更改为仅显示所选产品的服务类型。我通过以下方式做到了这一点onchange:
def onchange_product_id(self, cr, uid, ids, product_id, context=None):
if product_id:
product = self.pool.get('product.product').browse(
cr, uid, [product_id], context=context)
service_type_ids = product.service_type.mapped('id')
return {
'domain': {
'service_type_id': [('id', 'in', service_type_ids)],
},
}
Run Code Online (Sandbox Code Playgroud)
这很好用,问题是当您编辑记录(而不是创建新记录)时,因为在这种情况下,onchange未执行记录,因此域显示所有服务类型。
您可以在合作伙伴表单中使用字段看到同样的问题title。新建一个合作伙伴,该合作伙伴是公司,字段的域title发生变化,只允许选择Corp.、Ltd.等记录,但如果设置合作伙伴是联系人,则可以选择Doctor、Madam等记录现在,将您想要的数据保存到伙伴中,然后转到顶部栏的其他菜单。返回合作伙伴表单并打开创建的合作伙伴进行编辑。检查title字段而不更改is_company字段。现在您拥有所有可用的头衔,尽管您的合作伙伴属于特定类别(公司或联系人)。 …
odoo-8 ×10
odoo ×6
openerp ×4
python ×4
javascript ×2
odoo-9 ×2
python-2.7 ×2
xml ×2
xml-rpc ×2
pg-restore ×1