根据页面中的操作从数据库中删除记录
Deleting record from database based on an action in a page
我正在申请一家汽车经销店。我有一个股票页面和一个销售页面。每当我在销售中创建新条目时,我希望从股票页面中删除相应的条目。
我 sales
的 db
是
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),
)
每个条目的发动机编号和底盘编号都是唯一的。
您没有 post 任何控制器代码,所以我只是制作一个简单的未经测试的示例。我假设您正在使用 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)
我正在申请一家汽车经销店。我有一个股票页面和一个销售页面。每当我在销售中创建新条目时,我希望从股票页面中删除相应的条目。
我 sales
的 db
是
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),
)
每个条目的发动机编号和底盘编号都是唯一的。
您没有 post 任何控制器代码,所以我只是制作一个简单的未经测试的示例。我假设您正在使用 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)