More progress
This commit is contained in:
parent
3b358774cf
commit
9f01e4bff2
12 changed files with 128 additions and 3 deletions
|
|
@ -37,6 +37,7 @@ INSTALLED_APPS = [
|
|||
"django.contrib.sessions",
|
||||
"django.contrib.messages",
|
||||
"django.contrib.staticfiles",
|
||||
"django_bootstrap5",
|
||||
"reinheit.apps.brew",
|
||||
"reinheit.apps.styles",
|
||||
"reinheit.apps.ingredients",
|
||||
|
|
|
|||
|
|
@ -12,3 +12,6 @@ class AdditionInline(admin.TabularInline):
|
|||
@admin.register(Brew)
|
||||
class BrewAdmin(admin.ModelAdmin):
|
||||
inlines = [AdditionInline]
|
||||
|
||||
list_display = ["name", "style", "pitch_date"]
|
||||
date_hierarchy = "pitch_date"
|
||||
|
|
|
|||
21
reinheit/apps/brew/migrations/0002_brew_priming_sugar.py
Normal file
21
reinheit/apps/brew/migrations/0002_brew_priming_sugar.py
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
# Generated by Django 5.0.6 on 2024-06-24 20:59
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
("brew", "0001_initial"),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AddField(
|
||||
model_name="brew",
|
||||
name="priming_sugar",
|
||||
field=models.FloatField(
|
||||
default=0, help_text="Mass of priming sugar for the whole batch"
|
||||
),
|
||||
preserve_default=False,
|
||||
),
|
||||
]
|
||||
18
reinheit/apps/brew/migrations/0003_brew_notes.py
Normal file
18
reinheit/apps/brew/migrations/0003_brew_notes.py
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
# Generated by Django 5.0.6 on 2024-06-24 20:59
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
("brew", "0002_brew_priming_sugar"),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AddField(
|
||||
model_name="brew",
|
||||
name="notes",
|
||||
field=models.TextField(blank=True, default=""),
|
||||
),
|
||||
]
|
||||
|
|
@ -17,6 +17,10 @@ class Brew(models.Model):
|
|||
)
|
||||
bottled_volume = models.FloatField(help_text="Volume of liquid bottled")
|
||||
|
||||
priming_sugar = models.FloatField(help_text="Mass of priming sugar for the whole batch")
|
||||
|
||||
notes = models.TextField(default="", blank=True)
|
||||
|
||||
def __str__(self):
|
||||
return f"{self.style}: {self.name}"
|
||||
|
||||
|
|
|
|||
|
|
@ -4,5 +4,21 @@ from .models import Ingredient, Producer
|
|||
|
||||
# Register your models here.
|
||||
|
||||
admin.site.register(Ingredient)
|
||||
admin.site.register(Producer)
|
||||
|
||||
@admin.register(Ingredient)
|
||||
class IngredientAdmin(admin.ModelAdmin):
|
||||
list_display = ["name", "kind", "producer"]
|
||||
list_filter = ["kind", "producer"]
|
||||
|
||||
search_fields = ["name", "kind", "producer__name"]
|
||||
|
||||
|
||||
class IngredientInline(admin.TabularInline):
|
||||
model = Ingredient
|
||||
extra = 1
|
||||
|
||||
|
||||
@admin.register(Producer)
|
||||
class ProducerAdmin(admin.ModelAdmin):
|
||||
list_display = ["name"]
|
||||
inlines = [IngredientInline]
|
||||
|
|
|
|||
|
|
@ -0,0 +1,18 @@
|
|||
# Generated by Django 5.0.6 on 2024-06-24 20:50
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
("ingredients", "0003_alter_ingredient_description"),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AlterField(
|
||||
model_name="ingredient",
|
||||
name="description",
|
||||
field=models.CharField(blank=True, default="", max_length=255),
|
||||
),
|
||||
]
|
||||
|
|
@ -0,0 +1,26 @@
|
|||
# Generated by Django 5.0.6 on 2024-06-24 20:56
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
("ingredients", "0004_alter_ingredient_description"),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AlterField(
|
||||
model_name="ingredient",
|
||||
name="kind",
|
||||
field=models.CharField(
|
||||
choices=[
|
||||
("YEAST", "Yeast"),
|
||||
("FERM", "Fermentable"),
|
||||
("HOP", "Hop"),
|
||||
("CHEM", "Chemical"),
|
||||
],
|
||||
max_length=5,
|
||||
),
|
||||
),
|
||||
]
|
||||
|
|
@ -9,11 +9,12 @@ class Ingredient(models.Model):
|
|||
YEAST = "YEAST", "Yeast"
|
||||
FERMENTABLE = "FERM", "Fermentable"
|
||||
HOP = "HOP", "Hop"
|
||||
CHEMICAL = "CHEM", "Chemical"
|
||||
|
||||
kind = models.CharField(max_length=5, choices=Type)
|
||||
|
||||
name = models.CharField(max_length=255)
|
||||
description = models.TextField(blank=True, default="")
|
||||
description = models.CharField(max_length=255, blank=True, default="")
|
||||
producer = models.ForeignKey("Producer", on_delete=models.CASCADE)
|
||||
|
||||
def __str__(self):
|
||||
|
|
|
|||
|
|
@ -5,3 +5,6 @@ from django.db import models
|
|||
|
||||
class Style(models.Model):
|
||||
name = models.CharField(max_length=255)
|
||||
|
||||
def __str__(self):
|
||||
return self.name
|
||||
|
|
|
|||
2
requirements/base.in
Normal file
2
requirements/base.in
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
django
|
||||
django-bootstrap5
|
||||
12
requirements/base.txt
Normal file
12
requirements/base.txt
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
# This file was autogenerated by uv via the following command:
|
||||
# uv pip compile requirements/base.in
|
||||
asgiref==3.8.1
|
||||
# via django
|
||||
django==5.0.6
|
||||
# via
|
||||
# -r requirements/base.in
|
||||
# django-bootstrap5
|
||||
django-bootstrap5==24.2
|
||||
# via -r requirements/base.in
|
||||
sqlparse==0.5.0
|
||||
# via django
|
||||
Loading…
Add table
Reference in a new issue