将CSV导入Django模型

时间:2013-07-27 07:10:45

标签: django django-models django-import-export

我使用django-import-export从我的django模型备份了CSV文件,我想将其恢复到我的模型我该怎么做? 当我想为每个人创建对象时,我的外键有问题。

id,name,address,job,KBSE
1,Hamid,3,Doctor,4311
2,Ali,7,Artist,5343
3,Reza,2,Singer,5232

3 个答案:

答案 0 :(得分:2)

Import data workflow。大多数函数都可以在资源子类中重写。如果这没有帮助,请打开问题。

答案 1 :(得分:0)

您应该按正确的顺序导入表格,确保先输入您所依赖的所有数据。

因此加载外来表并加载当前表。如果您没有外国数据,而其中一些数据已被删除,则必须重新创建。

祝你好运!

答案 2 :(得分:0)

您可以使用使用 pandas 的自定义 python 脚本将 csv 数据加载到 Django 模型中。

#First define your Django Enviromental variables

import os
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "DjangoProjectName.settings")
import django
django.setup()
import pandas as pd
import numpy as np

   
#Import Required Django model

from djangoApp.models import * #models

# Import CSV file
df = pd.read_csv('csv_url.csv')

# Do required pre-processing on panda dataframe 
# such as data cleaning, data format settings etc..

# Iterater throught panda dataframe and save data in Django model

for index, row in df.iterrows():

      # create django model

      samplemodelObject = SampleModel()

      # Normal Fields ( Non-foreign key fields) adding
     
      samplemodelObject.field_name01 = row['Field_01']

      
      # Adding Foreign Key Field

       samplemodelObject.field_foreignkey = ForeignKeyModel.objects.get( fk_key = row['fk_value_field']

      # save data model instance
      samplemodelObject.save()
      samplemodelObject.clear()