2015-04-16 4 views
0

Я создаю скрипт для заполнения db информацией из json, но когда он заканчивается, только сохраненные объекты являются последними. Что я делаю не так? Вот мой код:База данных Django заполняется неправильно

def setup_environment(): 
    pathname = os.path.dirname(sys.argv[0]) 
    sys.path.append(os.path.abspath(pathname)) 
    sys.path.append(os.path.normpath(os.path.join(os.path.abspath(pathname), '../'))) 
    os.environ['DJANGO_SETTINGS_MODULE'] = 'config.settings' 

setup_environment() 

import django 
django.setup() 
from stats.models import Champion, Item #import models for django 

import json 

with open("champions.json", "r") as fjson: 

    data = json.load(fjson) 
    print len(data) 

    for i in data: 
     #print data[i]["name"], data[i]["key"] 
     champ = Champion.objects.get(key = data[i]["key"]) 
     champ.global_kda = data[i]["global_kda"] 
     champ.kills = data[i]["kills"] 
     champ.assists = data[i]["assists"] 
     champ.deaths = data[i]["deaths"] 
     champ.save() 

Ссылка на весь код: https://gist.github.com/zanklord/bc667dab9864af951446

+0

Не следует ли использовать read()? [json.load doc] (https://docs.python.org/2/library/json.html#json.load) – tgdn

+0

Не могли бы вы также разместить json-файл? По крайней мере, выдержка, чтобы показать нам структуру данных. –

+0

@tgdn почему? На самом деле это не проблема, и это не плохая практика или что-то еще, я думаю, –

ответ

0

На самом деле я не знаю, что я действительно сделал, потому что я не сделал ничего. Я изменил файл в формате gist и скопировал его на своем компьютере. Прежде, чем это было правильно, как предложил @help_asap. В любом случае спасибо @help_asap

Смежные вопросы