2012-08-26 3 views
0

Je cherche quelque chose de plus "beau" pour faire exactement ce que je fais ici. Fonctionne bien maintenant.meilleure façon de créer des objets dans Django

f = open(pathdata+'blocoh2.csv', 'r') 
reader = csv.reader(f) 
for row in reader: 
    dpt, created = Departamento.objects.get_or_create(name = row[3]) 
    print str(created) + "dprmentp" 
    blc, created = Bloco.objects.get_or_create(nm_andar = row[5],name = row[6]) 
    print str(created) + "bloco" 
    tplugar, created = TipoLugar.objects.get_or_create(name = (smart_str(row[2]))) 
    print str(created) + "tipo_lugar" 
    lugar, created = Lugar.objects.get_or_create(name=row[0], utilizacao=row[1], 
        tipoLugar = tplugar, 
        metragem = 0, 
        coordx = 0, 
        coordy = 0, 
        bloco = blc, 
        departamento = dpt) 
    print str(created) + "lugar" 

merci à l'avance

+1

Je rends généralement la mienne plus lisible en analysant la légende (ou l'index de mappage au nom), et en faisant référence aux colonnes via un nom de chaîne au lieu d'un index direct [3]. Vous êtes également foutu si l'ordre des légendes change jamais. Sinon, vous ne pouvez pas faire grand chose du fait que vous avez référencé différentes tables - vous ne pouvez pas créer directement ces objets à partir de l'objet 'Lugar'. –

Répondre

0

Vous pouvez lire PEP8 et formater votre code à cette norme Python.

Questions connexes