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.sessions",
|
||||||
"django.contrib.messages",
|
"django.contrib.messages",
|
||||||
"django.contrib.staticfiles",
|
"django.contrib.staticfiles",
|
||||||
|
"django_bootstrap5",
|
||||||
"reinheit.apps.brew",
|
"reinheit.apps.brew",
|
||||||
"reinheit.apps.styles",
|
"reinheit.apps.styles",
|
||||||
"reinheit.apps.ingredients",
|
"reinheit.apps.ingredients",
|
||||||
|
|
|
||||||
|
|
@ -12,3 +12,6 @@ class AdditionInline(admin.TabularInline):
|
||||||
@admin.register(Brew)
|
@admin.register(Brew)
|
||||||
class BrewAdmin(admin.ModelAdmin):
|
class BrewAdmin(admin.ModelAdmin):
|
||||||
inlines = [AdditionInline]
|
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")
|
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):
|
def __str__(self):
|
||||||
return f"{self.style}: {self.name}"
|
return f"{self.style}: {self.name}"
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -4,5 +4,21 @@ from .models import Ingredient, Producer
|
||||||
|
|
||||||
# Register your models here.
|
# 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"
|
YEAST = "YEAST", "Yeast"
|
||||||
FERMENTABLE = "FERM", "Fermentable"
|
FERMENTABLE = "FERM", "Fermentable"
|
||||||
HOP = "HOP", "Hop"
|
HOP = "HOP", "Hop"
|
||||||
|
CHEMICAL = "CHEM", "Chemical"
|
||||||
|
|
||||||
kind = models.CharField(max_length=5, choices=Type)
|
kind = models.CharField(max_length=5, choices=Type)
|
||||||
|
|
||||||
name = models.CharField(max_length=255)
|
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)
|
producer = models.ForeignKey("Producer", on_delete=models.CASCADE)
|
||||||
|
|
||||||
def __str__(self):
|
def __str__(self):
|
||||||
|
|
|
||||||
|
|
@ -5,3 +5,6 @@ from django.db import models
|
||||||
|
|
||||||
class Style(models.Model):
|
class Style(models.Model):
|
||||||
name = models.CharField(max_length=255)
|
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