diff --git a/CHANGELOG b/CHANGELOG index 1894bb6..6219981 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,3 +1,6 @@ +v2.6.1 20241101 JP + - Fix Warehouse_Features primary key bugs + v2.6.0 20241031 JP - Load CiderFeatures model if CIDER_FEATURES_PATH is set diff --git a/bin/router_cider.py b/bin/router_cider.py index 88efe0d..3c28974 100755 --- a/bin/router_cider.py +++ b/bin/router_cider.py @@ -402,11 +402,11 @@ def Warehouse_Features(self, info_json): self.cur = {} # Feature categories currently in database self.new = {} # New feature categories in document for item in CiderFeatures.objects.all(): - self.cur[item.id] = item + self.cur[item.feature_category_id] = item self.logger.debug('Retrieved from database {}/feature categories'.format(len(self.cur))) for p_feat in info_json['feature_categories']: # Iterating over feature groups - id = p_feat['id'] + id = p_feat['feature_category_id'] # All the attributes, then remove the ones that have their own field other_attributes=p_feat.copy() for attrib in self.feature_model_fields: @@ -433,7 +433,7 @@ def Warehouse_Features(self, info_json): for id in self.cur: if id not in self.new: try: - CiderFeatures.objects.filter(feature_category_id=id).delete() + CiderFeatures.objects.get(pk=id).delete() self.FCOUNTERS.update({'Delete'}) self.logger.info('Deleted ID={}'.format(id)) except (DataError, IntegrityError) as e: