1

我在 Django 中使用原始 SQL 查询时遇到问题。

在views.py中,定义了以下函数:

def functionSQL():

    from django.db import connection
    cursor = connection.cursor()
    cursor.execute('select column_name from "table_name" where CONDITION')
    value = cursor.fetchall()
    return value

该值返回为
[('returned_value'),]而不是returned_value

我在这里缺少什么吗?如何从返回值中删除不必要的前缀和后缀?

4

1 回答 1

1

它们不是前缀后缀。的返回值.fetchall()始终是一个元组列表,无论它返回单个值还是多个行和列。从文档

该方法获取查询结果集的所有(或所有剩余)行并返回元组列表。如果没有更多行可用,则返回一个空列表。

话虽如此,您可以使用以下方法从函数中返回单个值:

def functionSQL():
    ...
    value = cursor.fetchall()
    return value[0][0] if value != [] else value
于 2016-05-31T03:00:47.960 回答