Python Django ORM使用逗号作为分隔符?
我对Django有一些问题,Django ORM认为逗号是分隔符 在下面添加示例代码Python Django ORM使用逗号作为分隔符?,python,django,Python,Django,我对Django有一些问题,Django ORM认为逗号是分隔符 在下面添加示例代码 print sub_categorys.description # is printed as "drum class and drums feature" print sub_categorys.image_url # is printed as ", bongo class no.jpg" 但是,真正的数据库行是description=drumclass和drumfeature、bongo类
print sub_categorys.description # is printed as "drum class and drums feature"
print sub_categorys.image_url # is printed as ", bongo class no.jpg"
但是,真正的数据库行是description=drumclass和drumfeature、bongo类和image\u url=no.npg
请帮帮我!
谢谢
下面按代码进行补充说明
** model.py **
class SubCategory(models.Model):
name = models.TextField( unique=True )
description = models.TextField( null=True )
image_url = models.URLField( null=True )
** views.py > code use to insert data to model **
with open('./classes/resource/model/csv/sub_category_model.csv', 'rb') as f:
reader = csv.reader(f)
is_first = True
for row in reader:
if is_first:
is_first = False
continue
sub_category = SubCategory(name=unicode(row[0], 'euc-kr'),
description=unicode(row[3], 'euc-kr'),
image_url=unicode(row[4], 'euc-kr'))
try:
sub_category.save()
except Exception, e:
logger.error(e)
不是ORM使用逗号作为分隔符,而是csv.reader。如果要导入包含逗号的字符串,必须将它们用引号括起来。确保CSV文件包含正确的引用。在上面给出您的代码时,您的CSV行应如下所示:
foo,bar,baz,"drum class and drums feature, bongo class",no.jpg
如果由于某种原因出现问题,您可以选择其他分隔符,例如:
reader = csv.reader(csvfile, delimiter='|')
将以下内容作为输入:
foo|bar|baz|drum class and drums feature, bongo class|no.jpg
更多示例可参见能否发布子类别模型定义,以及如何将数据放入模型,以及将哪些数据放入模型列数据是由韩语编写的字符串。可以吗?@user3589577请添加更多详细信息并code@mamasi添加一些代码,请帮忙!我把我的名字从用户3589577编辑成pjr!别糊涂了!非常感谢你!最后,我还想问你一件事。据我所知,csv文件使用逗号作为分隔符。如何轻松更改分隔符?从技术上讲,您可以使用任何您想要的分隔符。如何设置该值取决于生成CSV文件所使用的工具,但例如在Python中,您可以将其设置为| with CSV.writerssvfile,delimiter='|'。在MySQL中,您可以使用以“|”子句等结尾的字段。您还可以在文本编辑器中打开CSV文件并进行搜索/替换。