开发者

Error while executing query

I get an error message on this query

query = "select count(*) from pgns_game where raw_moves = %s"
params = ('a',)
total_rows = self.model.objects.raw(query, params)

and it says

InvalidQuery('R开发者_Python百科aw query must include the primary key')

I am clearly missing something but I don't know what. Any ideas?


self.model.objects.raw() expects the query result to contain primary keys from the model self.model, so it can turn these into a list of objects for the function result.

What you really need to do is execute the SQL directly, and not through a manager. Your code will probably look like this:

from django.db import connection
cursor = connection.cursor()
cursor.execute("select count(*) from pgns_game where raw_moves = %s", ['a'])
total_rows = cursor.fetchone()

I haven't tried this myself, though.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜