python + django 多表联合查询方法求教

python + django 多表联合查询方法求教


慕的地10843
浏览 675回答 2
2回答

慕的地6264312

如果你觉着使用自带ORM查询费劲的话。直接获取数据库连接,然后执行sql语句。12345678910111213def my_custom_sql():    from django.db import connection, transaction    cursor = connection.cursor()     # 数据修改操作——提交要求    cursor.execute("UPDATE bar SET foo = 1 WHERE baz = %s", [self.baz])    transaction.commit_unless_managed()     # 数据检索操作,不需要提交    cursor.execute("SELECT foo FROM bar WHERE baz = %s", [self.baz])    row = cursor.fetchone()     return row多数据1234from django.db import connectionscursor = connections['my_db_alias'].cursor()# Your code here...transaction.commit_unless_managed(using='my_db_alias') 通常我们不需要手动调用                  transaction.commit_unless_managed(                ),我们可以这样做:1234567891011121314151617@commit_on_successdef my_custom_sql_view(request, value):    from django.db import connection, transaction    cursor = connection.cursor()     # Data modifying operation    cursor.execute("UPDATE bar SET foo = 1 WHERE baz = %s", [value])     # Since we modified data, mark the transaction as dirty    transaction.set_dirty()     # Data retrieval operation. This doesn't dirty the transaction,    # so no call to set_dirty() is required.    cursor.execute("SELECT foo FROM bar WHERE baz = %s", [value])    row = cursor.fetchone()     return render_to_response('template.html', {'row': row}) 
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python