检查Sqlite3查询是否返回空Flas

2024-09-30 20:31:15 发布

您现在位置:Python中文网/ 问答频道 /正文

我在用Python构造一个条件来检查API的响应是否是null时遇到了一些问题。我使用的是Flask和SQLite3模块。下面是我的一个资源片段。在

class Sites(Resource):
        def get(self, store):
            print('Received a request at ADDRESS for Store ' + store )
            conn = sqlite3.connect('store-db.db')
            cur = conn.cursor()
            res = cur.execute('SELECT * FROM Sites WHERE StoreNumber like ' + store)
            for r in res:
                if r == 'null':
                    return('No data', 404)
                else:
                    column_names = ["StoreNumber", "Street", "StreetSecondary","City","State", "ZipCode", "ContactNumber", "XO_TN", "RelocationStatus", "StoreType", "Timezone"]
                    data = [r[0], r[1], r[2], r[3], r[4], r[5], r[6], r[7], r[8], r[9], r[10]]            
                    datadict = {column_names[itemindex]:item for itemindex, item in enumerate(data)}
                    return(datadict, 200)

如果我向一个不存在的站点发出请求,返回的值是null,但是我没有成功地捕捉到这个,所以我想知道我用Python检查的方法是否不正确?在

我试过r[0] == 'null'r is Noner == 'null'r == null、和{}都没有用。在

请求成功

^{pr2}$

无数据请求(应返回404)

HTTP/1.0 200 OK
Content-Type: application/json
Content-Length: 5
Access-Control-Allow-Origin: *
Server: Werkzeug/0.14.1 Python/3.7.0
Date: Thu, 15 Nov 2018 15:11:41 GMT

null

Tags: storeinfordbdatareturnnamescolumn