【发布时间】:2013-06-10 16:38:03
【问题描述】:
我正在尝试使用已转换为 .csv 文件的 excel 文件将数据上传到我的 postgres 数据库。我的 .csv 文件是一个简单的测试文件,它只包含一行数据,所有数据都包含格式化为文本的单元格,并且其标题与我的数据模型中的列匹配。
我尝试将数据上传到的数据模型如下所示:
class Publication(models.Model):
title = models.CharField(max_length=200)
journalists = models.ManyToManyField(Journalist, blank=True)
email = models.EmailField(blank=True)
tags = models.ManyToManyField(Tag, blank=True, related_name="publications")
url = models.URLField(blank=True)
notes = models.CharField(max_length=500, blank=True)
image_url = models.URLField(blank=True)
media_kit_url = models.URLField(blank=True)
当我进入psql并输入命令时:
\copy apricot_app_publication from '~/Desktop/sampleDBPubs.csv';
我得到以下错误:
ERROR: invalid input syntax for integer: "title,url,email,media_kit_url,notes,tags,image_url,journalists"
CONTEXT: COPY apricot_app_publication, line 1, column id: "title,url,email,media_kit_url,notes,tags,image_url,journalists"
我查看了这个问题Importing csv file into pgsql,它解决了同样的问题,但给出的答案是错误意味着“您正在尝试将某些内容输入到一个不是整数的整数字段中......”,但是我的数据模型没有任何整数字段,所以我不知道如何解决这个问题。
任何人都可以提出可能导致问题的原因吗?
【问题讨论】:
-
journalists = models.ManyToManyField(Journalist, blank=True)一个整数字段的臭味,从一个单独的表中引用了一个记者的 id... -
有什么办法可以解决这个问题吗?我只是尝试向记者和标签列添加一个随机整数只是为了看看会发生什么,我得到了同样的错误
标签: django postgresql