diff --git a/modelcluster/fields.py b/modelcluster/fields.py index cc78136..7874ba6 100644 --- a/modelcluster/fields.py +++ b/modelcluster/fields.py @@ -451,7 +451,7 @@ def clear(self): """ self.set([]) - def set(self, objs, bulk=True, clear=False): + def set_base(self, objs, bulk=True, clear=False, through_defaults=None, raw=False): # cast objs to a list so that: # 1) we can call len() on it (which we can't do on, say, a queryset) # 2) if we need to sort it, we can do so without mutating the original @@ -472,6 +472,9 @@ def set(self, objs, bulk=True, clear=False): cluster_related_objects[relation_name] = objs + def set(self, objs, *, clear=False, through_defaults=None): + self.set_base(objs, clear=clear, through_defaults=through_defaults) + def remove(self, *items_to_remove): """ Remove the passed items from the stored object set, but do not commit the change diff --git a/modelcluster/queryset.py b/modelcluster/queryset.py index e766652..788d99f 100644 --- a/modelcluster/queryset.py +++ b/modelcluster/queryset.py @@ -556,3 +556,4 @@ def __len__(self): return len(self.results) ordered = True # results are returned in a consistent order + totally_ordered = True