Przeglądaj źródła

Add timestamps and show 20 recent by default

Colin Powell 3 lat temu
rodzic
commit
1a2db089af

+ 70 - 0
games/migrations/0009_developer_created_developer_modified_game_created_and_more.py

@@ -0,0 +1,70 @@
+# Generated by Django 4.0.3 on 2022-04-04 16:37
+
+from django.db import migrations
+import django.utils.timezone
+import django_extensions.db.fields
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ('games', '0008_game_featured'),
+    ]
+
+    operations = [
+        migrations.AddField(
+            model_name='developer',
+            name='created',
+            field=django_extensions.db.fields.CreationDateTimeField(auto_now_add=True, default=django.utils.timezone.now, verbose_name='created'),
+            preserve_default=False,
+        ),
+        migrations.AddField(
+            model_name='developer',
+            name='modified',
+            field=django_extensions.db.fields.ModificationDateTimeField(auto_now=True, verbose_name='modified'),
+        ),
+        migrations.AddField(
+            model_name='game',
+            name='created',
+            field=django_extensions.db.fields.CreationDateTimeField(auto_now_add=True, default=django.utils.timezone.now, verbose_name='created'),
+            preserve_default=False,
+        ),
+        migrations.AddField(
+            model_name='game',
+            name='modified',
+            field=django_extensions.db.fields.ModificationDateTimeField(auto_now=True, verbose_name='modified'),
+        ),
+        migrations.AddField(
+            model_name='gamesystem',
+            name='created',
+            field=django_extensions.db.fields.CreationDateTimeField(auto_now_add=True, default=django.utils.timezone.now, verbose_name='created'),
+            preserve_default=False,
+        ),
+        migrations.AddField(
+            model_name='gamesystem',
+            name='modified',
+            field=django_extensions.db.fields.ModificationDateTimeField(auto_now=True, verbose_name='modified'),
+        ),
+        migrations.AddField(
+            model_name='genre',
+            name='created',
+            field=django_extensions.db.fields.CreationDateTimeField(auto_now_add=True, default=django.utils.timezone.now, verbose_name='created'),
+            preserve_default=False,
+        ),
+        migrations.AddField(
+            model_name='genre',
+            name='modified',
+            field=django_extensions.db.fields.ModificationDateTimeField(auto_now=True, verbose_name='modified'),
+        ),
+        migrations.AddField(
+            model_name='publisher',
+            name='created',
+            field=django_extensions.db.fields.CreationDateTimeField(auto_now_add=True, default=django.utils.timezone.now, verbose_name='created'),
+            preserve_default=False,
+        ),
+        migrations.AddField(
+            model_name='publisher',
+            name='modified',
+            field=django_extensions.db.fields.ModificationDateTimeField(auto_now=True, verbose_name='modified'),
+        ),
+    ]

+ 18 - 0
games/migrations/0010_alter_game_release_date.py

@@ -0,0 +1,18 @@
+# Generated by Django 4.0.3 on 2022-04-04 16:37
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ('games', '0009_developer_created_developer_modified_game_created_and_more'),
+    ]
+
+    operations = [
+        migrations.AlterField(
+            model_name='game',
+            name='release_date',
+            field=models.DateField(blank=True, null=True),
+        ),
+    ]

+ 3 - 2
games/models.py

@@ -4,6 +4,7 @@ from django.conf import settings
 from django.core.validators import MaxValueValidator, MinValueValidator
 from django.db import models
 from django.urls import reverse
+from django_extensions.db.models import TimeStampedModel
 from django_extensions.db.fields import AutoSlugField
 from emus.utils import ChoiceEnum
 
@@ -30,7 +31,7 @@ class Region(Enum):
     JAPAN = "JP"
 
 
-class BaseModel(models.Model):
+class BaseModel(TimeStampedModel):
     """A base model for providing name and slugged fields for organizational models"""
 
     name = models.CharField(max_length=255)
@@ -87,7 +88,7 @@ class Game(BaseModel):
         on_delete=models.SET_NULL,
         null=True,
     )
-    release_date = models.DateTimeField(
+    release_date = models.DateField(
         blank=True,
         null=True,
     )

+ 1 - 1
games/views.py

@@ -7,7 +7,7 @@ from .models import Game, GameSystem
 
 class GameList(ListView):
     model = Game
-    queryset = Game.objects.filter(featured=True)
+    queryset = Game.objects.order_by("-created")[:20]
 
 
 class GameDetail(DetailView):