コード例 #1
0
    del rdict["primary_source_1"]
    del rdict["primary_source_2"]

    rdict["active"] = True
    rdict["submitted_by"] = migtools.mig_user
    
    try:
      entry = BilateralTradeDataEntry(**rdict)

      if entry.imports == "-9":
        if entry.exports == "-9":
          sys.stdout.write("[%i] %s - %s (dropped; missing data)\n" % (i, entry.location, entry.trade_partner))
          continue
        else:
          entry.imports = None
      elif entry.exports == "-9":
        entry.exports == None 
      else: # TEMPORARY: add only entries with missing data
        sys.stdout.write("[%i] %s - %s (ignored for now)\n" % (i, entry.location, entry.trade_partner))
        continue 

      entry.save()
      num_mig += 1
      sys.stdout.write("[%i] %s - %s\n" % (i, entry.location, entry.trade_partner))
    except (ValueError, DatabaseError, ValidationError) as e:
      sys.stderr.write('Failed to save data row (%i): %s\n' % (i, e))
      num_err_rows += 1

  print 'Migration complete. %i rows migrated, %i locations created, and %i row errors encountered and ignored' % (num_mig, num_locs, num_err_rows)