def insert(self, krw_measures): """Insert new measures.""" count = 0 for krw_measure in krw_measures: matident = krw_measure.identificatie.matident measure = Measure.objects.filter(ident=matident) if measure.exists(): logger.warning("MATIDENT {} exists.".format(matident)) continue try: logger.debug("insert measure {}.".format(matident)) measure = Measure(**krw_measure.measureAsDict()) measure.save() measure.categories = krw_measure.krwcategories measure.areas = krw_measure.geldenVoorWaterbeheerGebied.modelAreas measure.waterbodies = krw_measure.geldenVoorWaterbeheerGebied.modelWaterBodies measure.save() count += 1 except: logger.exception("Cannot insert measure {}.".format(matident)) logger.info("Parsed measures {}.".format(len(krw_measures))) logger.info("Inserted measures {}.".format(count))