3

キーと値のリストから更新クエリを作成し、必要に応じて値を引用符で囲みたいと思います。現在(以下のコードでは)文字列と整数の両方を引用符で囲んでいます。これを効率的に行うにはどうすればよいですか?

attributes = ['filename','filesize']
media_id = 12345
sqlbase = """UPDATE media
             SET %s
             WHERE media_id = %s"""
setpieces = []
values = []

setpieces.append("""timestamp_modified = %s""" % (time.time()))

#Recurse through all attributes in the class
for key in attributes:
  #For each key, get the value
  if key in attributes:
    value = getattr(self, key, None)
    setpieces.append("""%s = '%s'""" % (key, value))

query = sqlbase % (', '.join(setpieces), media_id)
4

1 に答える 1