【问题标题】:Raw SQL in DjangoDjango 中的原始 SQL
【发布时间】:2012-06-03 04:41:17
【问题描述】:

我尝试在 django 中执行 RAW SQL 查询。我在获取 fetchall 结果以输出列中不同项目的列表时遇到了一些问题。

所以我希望得到一个列中所有项目的列表。

class TableObject (object):

    def __init__ (self, Kingdom):
        SQL_str_Table = "SELECT DISTINCT column_title FROM sql_table"
        cursor.execute(SQL_str_Table, [])
        listOfReturns = cursor.fetchall()

        for each in listOfReturns:
            item = each

当我尝试打印“项目”时,我得到:

“mysite.forms.veiws.TableObject对象在0x03E5EE70处的绑定方法TableObject.write”

所以我的问题是如何将 fetchall 结果放入列表中。

【问题讨论】:

  • "mysite.forms.veiws.TableObject" ?向我们展示该代码。
  • 请添加更多信息,以便我们为您提供帮助。这个“TableObject”是干什么用的?您想改用 Django 模型吗?因为有一个非常简单的解决方案可以使用 django 模型“获取列中所有项目的列表”,但我并不理解您遇到的问题。请添加所有可以帮助我们了解您的问题并为您提供解决方案的信息。
  • 尝试调试listOfReturns你有什么样的对象,你在listOfReturns中有什么访问权限。
  • 你尝试了什么......发布你的代码

标签: mysql django django-queryset


【解决方案1】:

如果您想获得仅包含 column_title 的平面列表,则可以这样做:

listOfReturns = cursor.fetchall()
listOfReturns_flat  = [i for i in listOfReturns if i[0]] #remove empty results if any

【讨论】:

    猜你喜欢
    • 2013-04-17
    • 2015-11-21
    • 2012-03-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-18
    • 2020-10-21
    相关资源
    最近更新 更多