diff --git a/food_planner/migrations/0001_initial.py b/food_planner/migrations/0001_initial.py index 9a686e2..533d376 100644 --- a/food_planner/migrations/0001_initial.py +++ b/food_planner/migrations/0001_initial.py @@ -1,4 +1,4 @@ -# Generated by Django 3.0.3 on 2020-02-19 11:35 +# Generated by Django 3.0.3 on 2020-02-19 12:34 from django.conf import settings from django.db import migrations, models @@ -19,20 +19,36 @@ class Migration(migrations.Migration): fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('name', models.CharField(max_length=255, verbose_name='Name')), + ('name_en_us', models.CharField(max_length=255, null=True, verbose_name='Name')), + ('name_de_de', models.CharField(max_length=255, null=True, verbose_name='Name')), ], + options={ + 'verbose_name': 'Ingredient', + 'verbose_name_plural': 'Ingredients', + }, ), migrations.CreateModel( name='KitchenUtility', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('name', models.CharField(max_length=255, verbose_name='Name')), + ('name_en_us', models.CharField(max_length=255, null=True, verbose_name='Name')), + ('name_de_de', models.CharField(max_length=255, null=True, verbose_name='Name')), ], + options={ + 'verbose_name': 'Kitchen utility', + 'verbose_name_plural': 'Kitchen utilities', + }, ), migrations.CreateModel( name='Pantry', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ], + options={ + 'verbose_name': 'Pantry', + 'verbose_name_plural': 'Pantries', + }, ), migrations.CreateModel( name='Recipe', @@ -48,6 +64,10 @@ class Migration(migrations.Migration): ('protein', models.PositiveIntegerField(help_text='How much protein does one portion contain?', verbose_name='Protein')), ('author', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, to=settings.AUTH_USER_MODEL)), ], + options={ + 'verbose_name': 'Recipe', + 'verbose_name_plural': 'Recipes', + }, ), migrations.CreateModel( name='Vendor', @@ -55,15 +75,23 @@ class Migration(migrations.Migration): ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('name', models.CharField(max_length=50, verbose_name='Vendor')), ], + options={ + 'verbose_name': 'Vendor', + 'verbose_name_plural': 'Vendors', + }, ), migrations.CreateModel( - name='UsedKitchenUtilities', + name='UsedKitchenUtility', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('amount', models.PositiveIntegerField(default=1, help_text='How often is this kitchen utility used?', verbose_name='Amount')), ('kitchen_utility', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='food_planner.KitchenUtility')), ('recipe', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='food_planner.Recipe')), ], + options={ + 'verbose_name': 'Used kitchen utility', + 'verbose_name_plural': 'Used kitchen utilities', + }, ), migrations.CreateModel( name='UsedIngredient', @@ -74,6 +102,10 @@ class Migration(migrations.Migration): ('ingredient', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='food_planner.Ingredient')), ('recipe', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='food_planner.Recipe')), ], + options={ + 'verbose_name': 'Used ingredient', + 'verbose_name_plural': 'Used ingredients', + }, ), migrations.CreateModel( name='StoredIngredient', @@ -84,6 +116,10 @@ class Migration(migrations.Migration): ('ingredient', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='food_planner.Ingredient')), ('pantry', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='food_planner.Pantry')), ], + options={ + 'verbose_name': 'Stored ingredient', + 'verbose_name_plural': 'Stored ingredients', + }, ), migrations.AddField( model_name='recipe', @@ -93,7 +129,7 @@ class Migration(migrations.Migration): migrations.AddField( model_name='recipe', name='kitchen_utilities', - field=models.ManyToManyField(through='food_planner.UsedKitchenUtilities', to='food_planner.KitchenUtility'), + field=models.ManyToManyField(through='food_planner.UsedKitchenUtility', to='food_planner.KitchenUtility'), ), migrations.CreateModel( name='Profile', @@ -106,6 +142,10 @@ class Migration(migrations.Migration): ('daily_protein_demand', models.PositiveIntegerField(default=90, help_text='At most this amount of protein should be eaten per day', verbose_name='Daily protein demand')), ('user', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)), ], + options={ + 'verbose_name': 'Profile', + 'verbose_name_plural': 'Profiles', + }, ), migrations.CreateModel( name='Product', @@ -118,6 +158,10 @@ class Migration(migrations.Migration): ('ingredient', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, to='food_planner.Ingredient')), ('vendor', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='food_planner.Vendor')), ], + options={ + 'verbose_name': 'Product', + 'verbose_name_plural': 'Products', + }, ), migrations.AddField( model_name='pantry', @@ -139,6 +183,8 @@ class Migration(migrations.Migration): ('recipe', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='food_planner.Recipe')), ], options={ + 'verbose_name': 'Recipe step', + 'verbose_name_plural': 'Recipe steps', 'unique_together': {('recipe', 'number_of_step')}, }, ), diff --git a/food_planner/migrations/0002_auto_20200219_1314.py b/food_planner/migrations/0002_auto_20200219_1314.py deleted file mode 100644 index 6cfac25..0000000 --- a/food_planner/migrations/0002_auto_20200219_1314.py +++ /dev/null @@ -1,33 +0,0 @@ -# Generated by Django 3.0.3 on 2020-02-19 12:14 - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('food_planner', '0001_initial'), - ] - - operations = [ - migrations.AddField( - model_name='ingredient', - name='name_de_de', - field=models.CharField(max_length=255, null=True, verbose_name='Name'), - ), - migrations.AddField( - model_name='ingredient', - name='name_en_us', - field=models.CharField(max_length=255, null=True, verbose_name='Name'), - ), - migrations.AddField( - model_name='kitchenutility', - name='name_de_de', - field=models.CharField(max_length=255, null=True, verbose_name='Name'), - ), - migrations.AddField( - model_name='kitchenutility', - name='name_en_us', - field=models.CharField(max_length=255, null=True, verbose_name='Name'), - ), - ] diff --git a/food_planner/models.py b/food_planner/models.py index c05b7fa..34d2537 100644 --- a/food_planner/models.py +++ b/food_planner/models.py @@ -37,6 +37,10 @@ class Profile(models.Model): help_text=_('At most this amount of protein should be eaten per day'), default=90) + class Meta: + verbose_name = _('Profile') + verbose_name_plural = _('Profiles') + def __str__(self): return self.user.username @@ -44,6 +48,10 @@ class Profile(models.Model): class KitchenUtility(models.Model): name = models.CharField(_('Name'), max_length=255) + class Meta: + verbose_name = _('Kitchen utility') + verbose_name_plural = _('Kitchen utilities') + def __str__(self): return self.name @@ -51,6 +59,10 @@ class KitchenUtility(models.Model): class Ingredient(models.Model): name = models.CharField(_('Name'), max_length=255) + class Meta: + verbose_name = _('Ingredient') + verbose_name_plural = _('Ingredients') + def __str__(self): return self.name @@ -58,7 +70,7 @@ class Ingredient(models.Model): class Recipe(models.Model): author = models.ForeignKey(User, models.SET_NULL, null=True) kitchen_utilities = models.ManyToManyField(KitchenUtility, - through='UsedKitchenUtilities') + through='UsedKitchenUtility') ingredients = models.ManyToManyField(Ingredient, through='UsedIngredient') name = models.CharField(_('Name'), max_length=255) @@ -82,6 +94,10 @@ class Recipe(models.Model): protein = models.PositiveIntegerField(_('Protein'), help_text=_('How much protein does one portion contain?')) + class Meta: + verbose_name = _('Recipe') + verbose_name_plural = _('Recipes') + def __str__(self): return self.name @@ -94,14 +110,20 @@ class RecipeStep(models.Model): class Meta: unique_together = ['recipe', 'number_of_step'] + verbose_name = _('Recipe step') + verbose_name_plural = _('Recipe steps') -class UsedKitchenUtilities(models.Model): +class UsedKitchenUtility(models.Model): recipe = models.ForeignKey(Recipe, models.CASCADE) kitchen_utility = models.ForeignKey(KitchenUtility, models.CASCADE) amount = models.PositiveIntegerField(_('Amount'), help_text=_('How often is this kitchen utility used?'), default=1) + + class Meta: + verbose_name = _('Used kitchen utility') + verbose_name_plural = _('Used kitchen utilities') class UsedIngredient(models.Model): @@ -110,11 +132,19 @@ class UsedIngredient(models.Model): amount = models.PositiveIntegerField(_('Amount'), help_text=_('Please specify the used amount of the ingredient')) unit = models.CharField(_('Unit for amount'), max_length=10, choices=MEASUREMENT_UNITS) + + class Meta: + verbose_name = _('Used ingredient') + verbose_name_plural = _('Used ingredients') class Vendor(models.Model): name = models.CharField(_('Vendor'), max_length=50) + class Meta: + verbose_name = _('Vendor') + verbose_name_plural = _('Vendors') + def __str__(self): return self.name @@ -130,6 +160,10 @@ class Product(models.Model): price = models.DecimalField(_('Price'), decimal_places=2, max_digits=4, blank=True, default=0.0) + class Meta: + verbose_name = _('Product') + verbose_name_plural = _('Products') + def __str__(self): return self.name @@ -138,6 +172,10 @@ class Pantry(models.Model): owner = models.ForeignKey(User, models.CASCADE) ingredients = models.ManyToManyField(Ingredient, through='StoredIngredient') + class Meta: + verbose_name = _('Pantry') + verbose_name_plural = _('Pantries') + def __str__(self): return str.format('Pantry of {username}', username=self.owner.username) @@ -150,3 +188,11 @@ class StoredIngredient(models.Model): help_text=_('Please specify the stored amount of the ingredient')) unit = models.CharField(_('Unit for amount'), max_length=10, choices=MEASUREMENT_UNITS) + + class Meta: + verbose_name = _('Stored ingredient') + verbose_name_plural = _('Stored ingredients') + + def __str__(self): + return str.format('{amount} {unit} of {ingredient}', + amount=self.amount, unit=self.unit, ingredient=self.ingredient)