2016-07-26 142 views
0

我创建,你必须输入密码,以便可以执行的操作简单的形式,但我无法弄清楚如何不存储密码的数据库。当我把store = False我的模块不能编译。另外我想知道在用户写入时是否有隐藏密码的方法。Odoo 8店=假不工作

最好是不要在数据库中创建的任何表,但我需要创建一个模型,因为我有一个按钮,调用一个方法。我不知道是否有办法避免创建表格。

siteweb_migration_wizard.py

# -*- coding: utf-8 -*- 

from openerp import models, fields, api, tools 

class SitewebMigrationWizard(models.TransientModel): 
    _name = 'siteweb.migration' 

    password = fields.Char(string="Mot de passe", store=False) 


    @api.multi 
    def migration(self): 
     password = self.password 

     print(password) 

siteweb_migration_wizard.xml

<?xml version="1.0" encoding="utf-8"?> 
<openerp> 
    <data> 

     <record model="ir.ui.view" id="siteweb_migration_wizard_form"> 
      <field name="name">siteweb.migration.form</field> 
      <field name="model">siteweb.migration</field> 
      <field name="type">form</field> 
      <field name="arch" type="xml"> 
       <form string="Migrer" version="8.0"> 
        <p>Voulez-vous vraiment migrer vers la BD du site?</p> 
        <group> 
         <field name="password"/> 
        </group> 
        <button string="Confirmer" type="object" name="migration"/> 
        <button string="Annuler" class="oe_highlight" special="cancel"/> 
       </form> 
      </field> 
     </record> 

     <record id="action_siteweb_migration" model="ir.actions.act_window"> 
      <field name="name">Migration du site</field> 
      <field name="res_model">siteweb.migration</field> 
      <field name="view_type">form</field> 
      <field name="view_id" ref="siteweb_migration_wizard_form"/> 
      <field name="multi">True</field> 
      <field name="target">new</field> 
     </record> 

     <menuitem action="action_siteweb_migration" id="menu_siteweb_migration" name="Migration du site" 
        parent="siteweb_createch.menu_siteweb"/> 

    </data> 
</openerp> 

回答

1

几点要牢记

  • “店” 是计算领域的一个参数。它定义了在每次打开记录时是否应该计算该值,或者仅在编辑该值时计算它才能计算 。
  • 点击确认按钮后,它会保存当前数据。我建议你将密码设置为False迁移方法
@api.multi 
def migration(self): 
    password = self.password 
    print(password) 
    self.password = False 
  • ,即使它存储它不是长期保存。一段时间后,清洁瞬态模型调度会删除记录
0

你可以简单的使用密码既然你已经宣布它作为self.password的变数名称。 SO:password = False