2017-06-06 29 views
0

私はdjango import export(DIE)を使ってデータをインポートしています。私はデータをインポートする際に問題があります。エクセルデータのDjangoインポート/エクスポート

admin.py:私がしたい

enter image description here

enter image description here

しかし:

class TestResource(resources.ModelResource): 

    class Meta: 
      model = Test 
      exclude = ('id',) 
      import_id_fields = ['VS',] 
      skip_unchanged = True 

class TestAdmin(ImportExportMixin,admin.ModelAdmin): 

     fieldsets = [ 
     ('VS',  {'fields':['VS']}), 
     ('pool', {'fields':['pool']}), 
     ('pool_port', {'fields':['pool_port']}), 
     ('idc',  {'fields':['idc']}) 
     ] 

    list_display = ('VS','pool','pool_port','idc') 
    list_filter = ['pool_port'] 
    search_fields = ['VS','pool','pool_port','idc'] 
    resource_class = TestResource 
admin.site.register(Test,TestAdmin) 

は、私は次のようにExcelファイルをインポートしたいですすべての行をインポートします。重複を無視する方法を教えてください。前もって感謝します!

+0

は、あなたの修正のために考えています。 –

答えて

0

OKインポートする方法がわかります。 save()でファイルをインポートします。あなたたちはより良い方法を持っている場合は、次のように

〜コードを

を教えてください:api55 @

import os 
os.environ.setdefault("DJANGO_SETTINGS_MODULE","mysite.settings") 

import django 
django.setup() 

import xlrd 
from Test.models import Test 


def input(VS,pool_text,port,idc_text): 
    i = Test(
     VS = vs, 
     pool = pool_text, 
     pool_port = port, 
     idc = idc_text 
     ) 
    i.save() 

files = xlrd.open_workbook('test.xls') 
sh = files.sheet_by_index(0) 
n = 0 
for i in range(1,sh.nrows): 

    vs = sh.cell(i,0).value 
    pool_text = sh.cell(i,1).value 
    port = sh.cell(i,2).value 
    idc = sh.cell(i,3).value 
    input(vs,pool_text,port,idc) 
    n += 1 
print n 
関連する問題