@@ -489,6 +489,9 @@ def with_counts(self, *fields):
489489
490490 return self .annotate (** annotations )
491491
492+ def active (self ):
493+ return self .filter (is_archived = False , is_marked_for_deletion = False )
494+
492495
493496class UUIDTaggedItem (GenericUUIDTaggedItemBase , TaggedItemBase ):
494497 class Meta :
@@ -532,10 +535,10 @@ class Project(UUIDPKModel, ExtraDataFieldMixin, UpdateMixin, models.Model):
532535 )
533536 notes = models .TextField (blank = True )
534537 settings = models .JSONField (default = dict , blank = True )
538+ is_marked_for_deletion = models .BooleanField (default = False )
535539 labels = TaggableManager (through = UUIDTaggedItem )
536540
537541 objects = ProjectQuerySet .as_manager ()
538- is_marked_for_deletion = models .BooleanField (default = False )
539542
540543 class Meta :
541544 ordering = ["-created_date" ]
@@ -636,14 +639,12 @@ def delete(self, *args, **kwargs):
636639 return super ().delete (* args , ** kwargs )
637640
638641 def mark_for_deletion (self ):
639- self .is_marked_for_deletion = True
640- self .save ()
642+ self .update (is_marked_for_deletion = True )
641643
642644 def delete_in_background (self ):
643645 # Mark the project for deletion and enqueue background deletion task
644646 self .mark_for_deletion ()
645- q = Queue ("default" , connection = redis .Redis ())
646- job = q .enqueue (tasks .background_delete_task , self )
647+ django_rq .enqueue (tasks .background_delete_task , self )
647648
648649 def reset (self , keep_input = True ):
649650 """
0 commit comments