2

我使用 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
4

3 回答 3

2

请参阅导入数据工作流。大多数函数都可以在资源子类中被覆盖。如果这没有帮助,请打开问题。

于 2013-07-29T13:51:41.437 回答
1

您可以使用使用 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()
      
于 2020-12-21T17:10:26.853 回答
0

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

所以加载外部表而不是加载当前表。如果您没有外来数据并且其中一些已被删除,则必须将其创建回来。

祝你好运!

于 2013-07-28T12:02:39.940 回答