0

我想通过 odoo 10.0 创建一个“注册/登录表单”。

我的代码蟒蛇:

class SinhVien(models.Model):   
     _name = "studentmanagement.sinhvien"

     Ten = fields.Char()
     GioiTinh = fields.Char()
     NgaySinh = fields.Char()
     LienLac = fields.Char()
     MatKhau = fields.Char()
     DiaChi = fields.Char()
     DangKyHocPhan = fields.Many2many('studentmanagement.khoahoc', 'Dang_Ky_Hoc_Phan', 'studentmanagement.sinhvien_id', 'studentmanagement.khoahoc_id', string ="dang ky hoc phan")
     _sql_constraints = [ ('LienLac', 'unique(LienLac)', 'Two student with the same user!') ]

     def Log_In(self, Account, Password):
         if Account is not None & Password is not None:
            test_prod_ids = self.search([('LienLac','=',Account),   ('MatKhau','=',Password)], limit=1, context=None)
            return {
              'name': ('My Profile'),
              'view_type': 'form',
              'view_mode': 'form',
              'res_model': 'studentmanagement.sinhvien',
              'view_id': False,
              'type': 'ir.actions.act_window',
            }
        else :
            return None
 class KhoaHoc(models.Model):
       _name = "studentmanagement.khoahoc"

       MonHoc = fields.Char()
       TinChi = fields.Integer()
       PhongHoc = fields.Char()
       GiaoVien = fields.Char()

登录_SignUp.xml:

    <record model="ir.ui.view" id="LogIn_form_view">
        <field name="name">Logging</field>
        <field name="model">studentmanagement.sinhvien</field>
        <field name="type">form</field>
        <field name="arch" type="xml">
            <form string="Logging">
                <group>
                    <field name="LienLac"/>
                    <field name="MatKhau"/>
                    <button string="Log In" type="object" name="Log_In"/>
                </group>
            </form>
        </field>
    </record>

    <record model="ir.actions.act_window" id="LogIn_form_action">
        <field name="name">Log In</field>
        <field name="res_model">studentmanagement.sinhvien</field>
        <field name="view_type">form</field>
        <field name='view_id' ref='LogIn_form_view'/>
    </record>

    <menuitem id="main_menu_entrance" name="entrance"/>
    <menuitem id="Log In" name="Log In" parent="main_menu_entrance" action="LogIn_form_action"/>

形式:在此处输入图像描述 这是错误:在此处输入图像描述

我搜索了很多,但没有人有同样的情况。我不完全理解这样的错误,以及如何解决它。

4

2 回答 2

1

很难确定,但根据堆栈跟踪,您可能Log_In只需要接受一个**kwargs

def Log_In(self, **kwargs):
    Account = kwargs.get('Account')
    Password = kwargs.get('Password')
    if Account is not None & Password is not None:
    ...

或者可能只是:

def Log_In(self, args):
    Account = args.get('Account')
    Password = args.get('Password')
    if Account is not None & Password is not None:
    ...
于 2017-02-16T05:55:12.657 回答
0

我已经更正了我的代码,它对我有用:

def Log_In(self, args):
    Account = args.get('LienLac')
    Password = args.get('MatKhau')
    if Account is not None and Password is not None:
         test_prod_ids = self.search([('LienLac','=',Account),('MatKhau','=',Password)], limit=1, context=None)
         if test_prod_ids:
            return {
               'name': ('My Profile'),
               'view_type': 'form',
               'view_mode': 'form',
               'res_model': 'studentmanagement.sinhvien',
               'view_id': False,
               'type': 'ir.actions.act_window',
             }
       else:
          return None
    else :
         return None
于 2017-02-16T07:10:10.837 回答