From 266c6fe77717eef5220874447b51a4b651edc982 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Fri, 19 Mar 2021 12:14:59 -0700 Subject: [PATCH 1/2] Make rating a decimal field --- .../migrations/0053_auto_20210319_1913.py | 20 +++++++++++++++++++ bookwyrm/models/fields.py | 4 ++++ bookwyrm/models/status.py | 4 +++- 3 files changed, 27 insertions(+), 1 deletion(-) create mode 100644 bookwyrm/migrations/0053_auto_20210319_1913.py diff --git a/bookwyrm/migrations/0053_auto_20210319_1913.py b/bookwyrm/migrations/0053_auto_20210319_1913.py new file mode 100644 index 00000000..be086cd2 --- /dev/null +++ b/bookwyrm/migrations/0053_auto_20210319_1913.py @@ -0,0 +1,20 @@ +# Generated by Django 3.1.6 on 2021-03-19 19:13 + +import bookwyrm.models.fields +import django.core.validators +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('bookwyrm', '0052_user_show_goal'), + ] + + operations = [ + migrations.AlterField( + model_name='review', + name='rating', + field=bookwyrm.models.fields.DecimalField(blank=True, decimal_places=2, default=None, max_digits=3, null=True, validators=[django.core.validators.MinValueValidator(1), django.core.validators.MaxValueValidator(5)]), + ), + ] diff --git a/bookwyrm/models/fields.py b/bookwyrm/models/fields.py index 1bdc6c45..247c6aca 100644 --- a/bookwyrm/models/fields.py +++ b/bookwyrm/models/fields.py @@ -444,3 +444,7 @@ class BooleanField(ActivitypubFieldMixin, models.BooleanField): class IntegerField(ActivitypubFieldMixin, models.IntegerField): """ activitypub-aware boolean field """ + + +class DecimalField(ActivitypubFieldMixin, models.DecimalField): + """ activitypub-aware boolean field """ diff --git a/bookwyrm/models/status.py b/bookwyrm/models/status.py index 0e18dc1b..09a7c4ec 100644 --- a/bookwyrm/models/status.py +++ b/bookwyrm/models/status.py @@ -273,11 +273,13 @@ class Review(Status): book = fields.ForeignKey( "Edition", on_delete=models.PROTECT, activitypub_field="inReplyToBook" ) - rating = fields.IntegerField( + rating = fields.DecimalField( default=None, null=True, blank=True, validators=[MinValueValidator(1), MaxValueValidator(5)], + decimal_places=2, + max_digits=3, ) @property From 5ed3320c9bae75e223bdf91c2fa4cc09e9637e06 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Fri, 19 Mar 2021 12:16:44 -0700 Subject: [PATCH 2/2] Formatting --- bookwyrm/migrations/0053_auto_20210319_1913.py | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/bookwyrm/migrations/0053_auto_20210319_1913.py b/bookwyrm/migrations/0053_auto_20210319_1913.py index be086cd2..023319b3 100644 --- a/bookwyrm/migrations/0053_auto_20210319_1913.py +++ b/bookwyrm/migrations/0053_auto_20210319_1913.py @@ -8,13 +8,23 @@ from django.db import migrations, models class Migration(migrations.Migration): dependencies = [ - ('bookwyrm', '0052_user_show_goal'), + ("bookwyrm", "0052_user_show_goal"), ] operations = [ migrations.AlterField( - model_name='review', - name='rating', - field=bookwyrm.models.fields.DecimalField(blank=True, decimal_places=2, default=None, max_digits=3, null=True, validators=[django.core.validators.MinValueValidator(1), django.core.validators.MaxValueValidator(5)]), + model_name="review", + name="rating", + field=bookwyrm.models.fields.DecimalField( + blank=True, + decimal_places=2, + default=None, + max_digits=3, + null=True, + validators=[ + django.core.validators.MinValueValidator(1), + django.core.validators.MaxValueValidator(5), + ], + ), ), ]