浏览代码

Fix inversion of next and last for scrobbles

Colin Powell 1 年之前
父节点
当前提交
e044c70072
共有 1 个文件被更改,包括 12 次插入6 次删除
  1. 12 6
      vrobbler/apps/scrobbles/models.py

+ 12 - 6
vrobbler/apps/scrobbles/models.py

@@ -576,51 +576,57 @@ class Scrobble(TimeStampedModel):
         return is_stale
 
     @property
-    def previous(self) -> "Scrobble":
+    def next(self) -> "Scrobble":
         return (
             self.media_obj.scrobble_set.order_by("-timestamp")
+            .exclude(id=self.id)
             .filter(timestamp__lt=self.timestamp)
             .first()
         )
 
     @property
-    def next(self) -> "Scrobble":
+    def previous(self) -> "Scrobble":
         return (
             self.media_obj.scrobble_set.order_by("timestamp")
+            .exclude(id=self.id)
             .filter(timestamp__gt=self.timestamp)
             .first()
         )
 
     @property
-    def previous_all(self) -> "Scrobble":
+    def next_all(self) -> "Scrobble":
         return (
             Scrobble.objects.filter(media_type=self.media_type)
+            .exclude(id=self.id)
             .order_by("-timestamp")
             .filter(timestamp__lt=self.timestamp)
             .first()
         )
 
     @property
-    def next_all(self) -> "Scrobble":
+    def previous_all(self) -> "Scrobble":
         return (
             Scrobble.objects.filter(media_type=self.media_type)
+            .exclude(id=self.id)
             .order_by("-timestamp")
             .filter(timestamp__gt=self.timestamp)
             .first()
         )
 
     @property
-    def previous_all_media(self) -> "Scrobble":
+    def next_all_media(self) -> "Scrobble":
         return (
             Scrobble.objects.order_by("-timestamp")
+            .exclude(id=self.id)
             .filter(timestamp__lt=self.timestamp)
             .first()
         )
 
     @property
-    def next_all_media(self) -> "Scrobble":
+    def previous_all_media(self) -> "Scrobble":
         return (
             Scrobble.objects.order_by("-timestamp")
+            .exclude(id=self.id)
             .filter(timestamp__gt=self.timestamp)
             .first()
         )