From 612c42ebb7760d3119d88e725e57038ef6473c2c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Luk=C3=A1=C5=A1=20Kucharczyk?= Date: Mon, 17 Mar 2025 08:35:07 +0100 Subject: [PATCH] Standardize blank and null fields in models --- ..._sort_name_alter_game_wikidata_and_more.py | 59 +++++++++++++++++++ games/models.py | 16 +++-- 2 files changed, 66 insertions(+), 9 deletions(-) create mode 100644 games/migrations/0006_alter_game_sort_name_alter_game_wikidata_and_more.py diff --git a/games/migrations/0006_alter_game_sort_name_alter_game_wikidata_and_more.py b/games/migrations/0006_alter_game_sort_name_alter_game_wikidata_and_more.py new file mode 100644 index 0000000..1a5cc0f --- /dev/null +++ b/games/migrations/0006_alter_game_sort_name_alter_game_wikidata_and_more.py @@ -0,0 +1,59 @@ +# Generated by Django 5.1.5 on 2025-03-01 12:52 + +import django.db.models.deletion +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('games', '0005_game_mastered_game_status'), + ] + + operations = [ + migrations.AlterField( + model_name='game', + name='sort_name', + field=models.CharField(blank=True, default='', max_length=255), + ), + migrations.AlterField( + model_name='game', + name='wikidata', + field=models.CharField(blank=True, default='', max_length=50), + ), + migrations.AlterField( + model_name='platform', + name='group', + field=models.CharField(blank=True, default='', max_length=255), + ), + migrations.AlterField( + model_name='purchase', + name='converted_currency', + field=models.CharField(blank=True, default='', max_length=3), + ), + migrations.AlterField( + model_name='purchase', + name='games', + field=models.ManyToManyField(related_name='purchases', to='games.game'), + ), + migrations.AlterField( + model_name='purchase', + name='name', + field=models.CharField(blank=True, default='', max_length=255), + ), + migrations.AlterField( + model_name='purchase', + name='related_purchase', + field=models.ForeignKey(default=None, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='related_purchases', to='games.purchase'), + ), + migrations.AlterField( + model_name='session', + name='game', + field=models.ForeignKey(default=None, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='sessions', to='games.game'), + ), + migrations.AlterField( + model_name='session', + name='note', + field=models.TextField(blank=True, default=''), + ), + ] diff --git a/games/models.py b/games/models.py index 6a84b78..e1279d4 100644 --- a/games/models.py +++ b/games/models.py @@ -14,9 +14,9 @@ class Game(models.Model): unique_together = [["name", "platform", "year_released"]] name = models.CharField(max_length=255) - sort_name = models.CharField(max_length=255, null=True, blank=True, default=None) + sort_name = models.CharField(max_length=255, blank=True, default="") year_released = models.IntegerField(null=True, blank=True, default=None) - wikidata = models.CharField(max_length=50, null=True, blank=True, default=None) + wikidata = models.CharField(max_length=50, blank=True, default="") platform = models.ForeignKey( "Platform", on_delete=models.SET_DEFAULT, null=True, blank=True, default=None ) @@ -68,7 +68,7 @@ def get_sentinel_platform(): class Platform(models.Model): name = models.CharField(max_length=255) - group = models.CharField(max_length=255, null=True, blank=True, default=None) + group = models.CharField(max_length=255, blank=True, default="") icon = models.SlugField(blank=True) created_at = models.DateTimeField(auto_now_add=True) @@ -127,7 +127,7 @@ class Purchase(models.Model): objects = PurchaseQueryset().as_manager() - games = models.ManyToManyField(Game, related_name="purchases", blank=True) + games = models.ManyToManyField(Game, related_name="purchases") platform = models.ForeignKey( Platform, on_delete=models.CASCADE, default=None, null=True, blank=True @@ -140,20 +140,19 @@ class Purchase(models.Model): price = models.FloatField(default=0) price_currency = models.CharField(max_length=3, default="USD") converted_price = models.FloatField(null=True) - converted_currency = models.CharField(max_length=3, null=True) + converted_currency = models.CharField(max_length=3, blank=True, default="") price_per_game = models.FloatField(null=True) num_purchases = models.IntegerField(default=0) ownership_type = models.CharField( max_length=2, choices=OWNERSHIP_TYPES, default=DIGITAL ) type = models.CharField(max_length=255, choices=TYPES, default=GAME) - name = models.CharField(max_length=255, default="", null=True, blank=True) + name = models.CharField(max_length=255, blank=True, default="") related_purchase = models.ForeignKey( "self", on_delete=models.SET_NULL, default=None, null=True, - blank=True, related_name="related_purchases", ) created_at = models.DateTimeField(auto_now_add=True) @@ -247,7 +246,6 @@ class Session(models.Model): game = models.ForeignKey( Game, on_delete=models.CASCADE, - blank=True, null=True, default=None, related_name="sessions", @@ -263,7 +261,7 @@ class Session(models.Model): blank=True, default=None, ) - note = models.TextField(blank=True, null=True) + note = models.TextField(blank=True, default="") emulated = models.BooleanField(default=False) created_at = models.DateTimeField(auto_now_add=True)