根据页面中的操作从数据库中删除记录

时间:2016-04-12 15:04:14

标签: mysql web2py

我正在申请汽车经销商。我有一个股票页面和一个销售页面。每当我在销售中创建一个新条目时,我都希望从库存页面中删除相应的条目。

我的db sales

db.define_table('sales',
                Field('customer_name','string'),
                Field('village','string'),
                Field('mobile_number','integer'),
                Field('model','string',required=True,requires=IS_IN_SET(['1035DI','241DI','241DI(P.S.)','245DI','245DI(P.S.)','9000DI','9000DI(P.S)','5245DI','9500DI'])),
                Field('engine_number','string'),
                Field('chassis_number','string'),
                Field('date_of_sale','date'),
                Field('sale_price','integer'),
                Field('bill_number','integer'),
                Field('mode_of_payment','string',requires=IS_IN_SET(['Cash','Cheque']))
                )

我的db stock

db.define_table('stock',
                Field('model','string',required=True,requires=IS_IN_SET(['1035DI','241DI','241DI(P.S.)','245DI','245DI(P.S.)','9000DI','9000DI(P.S)','5245DI','9500DI'])),
                Field('engine_number','string',required=True),
                Field('chassis_number','string',required=True),
                Field('invoice_number','integer',required=True),
                )

每个条目的引擎编号和底盘编号都是唯一的。

1 个答案:

答案 0 :(得分:1)

你没有发布任何控制器代码,所以我只是做一个简单的未经测试的例子。我假设你正在使用SQLFORM,而你的销售控制器功能只是命名为“sales”

#controller, i.e. default.py
def sales():
     form = SQLFORM(db.sales)
     if form.process().accepted:
          engine_number = form.vars.engine_number
          chassis_number = form.vars.chassis_number
          db((db.stock.engine_number == engine_number) & (db.stock.chassis_number == chassis_number)).delete()
     return dict(form=form)