@@ -489,6 +489,9 @@ def with_counts(self, *fields):
489
489
490
490
return self .annotate (** annotations )
491
491
492
+ def active (self ):
493
+ return self .filter (is_archived = False , is_marked_for_deletion = False )
494
+
492
495
493
496
class UUIDTaggedItem (GenericUUIDTaggedItemBase , TaggedItemBase ):
494
497
class Meta :
@@ -532,10 +535,10 @@ class Project(UUIDPKModel, ExtraDataFieldMixin, UpdateMixin, models.Model):
532
535
)
533
536
notes = models .TextField (blank = True )
534
537
settings = models .JSONField (default = dict , blank = True )
538
+ is_marked_for_deletion = models .BooleanField (default = False )
535
539
labels = TaggableManager (through = UUIDTaggedItem )
536
540
537
541
objects = ProjectQuerySet .as_manager ()
538
- is_marked_for_deletion = models .BooleanField (default = False )
539
542
540
543
class Meta :
541
544
ordering = ["-created_date" ]
@@ -636,14 +639,12 @@ def delete(self, *args, **kwargs):
636
639
return super ().delete (* args , ** kwargs )
637
640
638
641
def mark_for_deletion (self ):
639
- self .is_marked_for_deletion = True
640
- self .save ()
642
+ self .update (is_marked_for_deletion = True )
641
643
642
644
def delete_in_background (self ):
643
645
# Mark the project for deletion and enqueue background deletion task
644
646
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 )
647
648
648
649
def reset (self , keep_input = True ):
649
650
"""
0 commit comments