Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/324.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 与Postgres COPY命令的多对多关系_Python_Django_Postgresql_Django Orm - Fatal编程技术网

Python 与Postgres COPY命令的多对多关系

Python 与Postgres COPY命令的多对多关系,python,django,postgresql,django-orm,Python,Django,Postgresql,Django Orm,在运行PostgresCOPY命令时,是否可以包含多对多关系?如果是,你能给我举个例子吗 例如: CREATE TABLE "lap" ( "id" serial NOT NULL PRIMARY KEY, "Lap_number" integer, "Lap_time" interval, ) ; CREATE TABLE "datasinglerace_Laps" ( "id" serial NOT NULL PRIMARY KEY, "datasin

在运行Postgres
COPY
命令时,是否可以包含多对多关系?如果是,你能给我举个例子吗

例如:

CREATE TABLE "lap" (
    "id" serial NOT NULL PRIMARY KEY,
    "Lap_number" integer,
    "Lap_time" interval,
)
;
CREATE TABLE "datasinglerace_Laps" (
    "id" serial NOT NULL PRIMARY KEY,
    "datasinglerace_id" integer NOT NULL,
    "lap_id" integer NOT NULL REFERENCES "lap" ("id") DEFERRABLE INITIALLY DEFERRED,
    UNIQUE ("datasinglerace_id", "lap_id")
)
;
CREATE TABLE "datasinglerace" (
    "id" serial NOT NULL PRIMARY KEY,
    "Notes" text,
)
;
ALTER TABLE "datasinglerace_Laps" ADD CONSTRAINT "datasinglerace_id_refs_id_620382df" FOREIGN KEY ("datasinglerace_id")
  REFERENCES "datasinglerace" ("id") DEFERRABLE INITIALLY DEFERRED;
搭接对象已在数据库中。对于
COPY
文件,我想把
datasingleance
id
的信息和我想附加的lap对象的
id
列表放在一起。我要附加的搭接对象数量可变


此SQL是使用Django框架创建的。我想把它保存在Django框架中,所以我不想更改SQL。导入数据的速度非常慢,因此我正在努力提高导入数据的速度。

您可以使用
COPY
来提高一次性导入批量数据的速度-我不会正常使用它-您是否隔离了瓶颈?你在抄袭什么?您需要类似于CSV的文件,其结构与表相同

COPY
直接复制到PostgreSQL它与Django无关,因此您需要使用pgsql或您使用的任何工具与Postgres进行交互。您的命令将如下所示:

COPY datasinglerace FROM datasinglerace.csv;
COPY datasinglerace_Laps FROM datasinglerace_Laps.csv;
COPY
有许多选项请参见


请注意,需要首先添加被其他对象引用的任何内容,否则您需要放松(删除然后添加回)引用约束。在这种情况下,您需要
复制
datasinglerace\u最后一圈,以便它已经存在的引用

您可以使用
复制
来提高一次性导入批量数据的速度-我通常不会使用它-是否隔离了瓶颈?你在抄袭什么?您需要类似于CSV的文件,其结构与表相同

COPY
直接复制到PostgreSQL它与Django无关,因此您需要使用pgsql或您使用的任何工具与Postgres进行交互。您的命令将如下所示:

COPY datasinglerace FROM datasinglerace.csv;
COPY datasinglerace_Laps FROM datasinglerace_Laps.csv;
COPY
有许多选项请参见


请注意,需要首先添加被其他对象引用的任何内容,否则您需要放松(删除然后添加回)引用约束。在这种情况下,您需要
COPY
datasinglerace\u Laps最后一次,以便它已经存在的引用

我正在处理数据并导入数据库。由于数据量巨大,导入速度成为瓶颈。我目前正在使用Postgres COPY命令。我在做一个副本,在其中创建DataSinglerance,在另一个副本中,我用对lap行和DataSinglerance行的引用填充表datasinglerace\u Laps。如果我可以使用COPY命令创建datasinglerace并同时将m2m填充到lap模型,我怀疑性能会有所提高。我提到了Django,因为此时我并不考虑更改数据的建模方式,除非它适合Django ORM。这是一个纯粹的博士后问题。那么问题是什么呢,只是按照正确的顺序复制,应该可以正常工作?它可以工作,但速度太慢了。我需要改进导入时间。我正在处理数据并导入数据库。由于数据量巨大,导入速度成为瓶颈。我目前正在使用Postgres COPY命令。我在做一个副本,在其中创建DataSinglerance,在另一个副本中,我用对lap行和DataSinglerance行的引用填充表datasinglerace\u Laps。如果我可以使用COPY命令创建datasinglerace并同时将m2m填充到lap模型,我怀疑性能会有所提高。我提到了Django,因为此时我并不考虑更改数据的建模方式,除非它适合Django ORM。这是一个纯粹的博士后问题。那么问题是什么呢,只是按照正确的顺序复制,应该可以正常工作?它可以工作,但速度太慢了。我需要改进导入时间。