Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python web2py删除查询_Python_Sqlite_Web2py - Fatal编程技术网

Python web2py删除查询

Python web2py删除查询,python,sqlite,web2py,Python,Sqlite,Web2py,嗨,我有下表 db.define_table('templates', Field('id','id'), Field('user_id',db.auth_user), Field('name','string')) db.define_table('user_settings', Field('id','id'), Field('user_id',db.auth_user), Field('default_template', db.templ

嗨,我有下表

db.define_table('templates',
    Field('id','id'),
    Field('user_id',db.auth_user),
    Field('name','string'))

db.define_table('user_settings',
    Field('id','id'),
    Field('user_id',db.auth_user),
    Field('default_template', db.templates)
    Field('name','string'))
表格:

def templates():
    form = SQLFORM.grid(db.templates, 
    links [lambda row: A(SPAN(_class='icon trash icon-trash'), SPAN(T('Delete'),_class='buttontext button'), _class='button btn', _href=URL('delete',args=[db.templates,row.id]))])]
    return dict(form=form)
我的删除功能是

def delete():
    if request.args(0) == 'templates': 
        db(db.templates.user_id == auth.user_id).delete()
        return dict(form=redirect(URL('templates')))
    return dict(form=redirect(URL('index')))
当我从
模板中删除记录时
它在
db.user\u settings
中的相关记录也将被删除

使用simple
SQLFORM(query,record,deletable=True)
生成的自定义表单创建一个检查按钮“delete”,它可以正常工作,并且
db.user\u设置。默认模板
将仅设置为无

如何预防? 我的删除查询是假的吗?

我用这个来修复它

def delete():
    if request.args(0) == 'templates':
        if db.templates[request.args(1)].id == auth.user_id:
            db(db.templates.id ==  request.args(1)).delete()
            return dict(form=redirect(URL('templates')))
    return dict(form=redirect(URL('index')))