2012-02-01 88 views
1

我有以下型號:Django的原始SQL INSERT: '海峽' 對象有沒有屬性 '項目'

class test_data_urls(models.Model): 
    url = models.CharField(max_length=200, db_index=True) 

我想插入值到MySQL:

cursor = connection.cursor() 
url = "hiya" 
cursor.execute("insert into my_table(url) values (%s)", (url)) 

我得到一個錯誤: '海峽' 對象有沒有屬性 '項目'

這工作:

cursor.execute("insert into my_table(url) values ('test')") 

但我想用%s來做。對我來說,這看起來完全像我一直這樣做,所以我錯過了什麼?

回答

1

嘗試使用[],而不是()

cursor = connection.cursor() 
url = "hiya" 
cursor.execute("insert into my_table(url) values (%s)", [url]) 

的原因(URL)無法正常工作,因爲它不是一個元組,它是一個字符串。 (url)將是一個元組。

+0

工作,謝謝。我會這樣做。雖然我不明白,我正在查看其他一些我剛剛運行的代碼,並且有括號的作品。 – user984003 2012-02-01 09:34:19

+0

我見過這裏的信息:https://docs.djangoproject.com/en/dev/topics/db/sql/所有示例添加[] – 2012-02-01 09:34:58

+0

現在你shpuld投票並接受答案。檢查http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work – 2012-02-01 09:35:56

相關問題