使用 pandas to_sql 函数时有没有办法插入外键?
在将它们添加到数据库(postgres)之前,我正在Consultation
使用 django 中的 pandas 处理上传的 s(n=40k)。我逐行完成了这个工作,但这需要 15 到 20 分钟。这比我希望我的用户等待的时间要长,所以我正在寻找更有效的解决方案。
consultations
我尝试了 pandas to_sql,但在调用to_sql
函数之前,我无法弄清楚如何将两个外键关系作为列添加到我的数据框中。有没有办法将 Patient 和 Praktijk 外键添加为数据框中的列consultations
?
更具体地说,当逐行插入时,我使用类型 Patient
的对象或Praktijk
在数据库中创建新的咨询时。但是,在数据框中,我不能使用这些类型,因此不知道如何正确添加外键。是否可能有一个类型的值object
或int
(患者的 id?)可以替代 Patient 类型的值,从而设置外键?
Consultation
型号:
class Consultation(models.Model):
# the foreign keys
patient = models.ForeignKey(Patient, on_delete=models.CASCADE, null=True, blank=True)
praktijk = models.ForeignKey(Praktijk, on_delete=models.CASCADE, default='')
# other fields which do not give trouble with to_sql
patient_nr = models.IntegerField(blank=True, null=True)
# etc
to_sql
来电:
consultations.to_sql(Consult._meta.db_table, engine, if_exists='append', index=False, chunksize=10000)
如果以上是不可能的,是否有其他更有效的解决方案的提示?