使用Django / Python将字符串值(varchars)添加到MySQL表而不带引号

时间:2015-03-09 02:51:51

标签: python django

我无法通过Django / Python将字符串值输入MySQL表而没有引号。

目前,我有以下架构:

 Field            | Type         | Null | Key | Default | Extra
 ticker           | varchar(10)  | NO   | PRI | NULL    |       |

在我的人口脚本中,我有values[0],它引用了数组中的第一个值,之前用逗号分割。

>>> values[0], type(values[0])
('"AAPL"', <type 'str'>)`

然后我将此值分配给我的模型并保存:

fi = MarketData()
fi.ticker = values[0]
fi.save()

在数据库表中,此值以双引号存储:

+--------+
| ticker |
--------+
| "AAPL" |
+--------+

这可以防止我加入一个单独的表,其中主键也是自动收报机,中存储的值没有任何类型的引用。

我的Django模型:

ticker = models.CharField(max_length=10, primary_key=True, db_column='ticker')

我已经尝试将双弦转换为单曲,并且逃避,但是没有多少运气。感谢。

1 个答案:

答案 0 :(得分:1)

使用strip

删除报价
new_value = value[0].strip('"')  # for double quoted strings

您也可以为单引号字符串执行此操作:

new_value = value[0].strip("'")  # for single-quoted strings

然后将其存储在数据库中。