[beers] Finish out the model

This commit is contained in:
2024-10-22 17:47:38 -04:00
parent 0bda3f6fd8
commit 0ec7ed3a18
3 changed files with 88 additions and 7 deletions

View File

@ -1,7 +1,5 @@
from beers.models import Beer, BeerProducer, BeerStyle
from django.contrib import admin
from beers.models import Beer
from scrobbles.admin import ScrobbleInline
@ -10,10 +8,15 @@ class BeerInline(admin.TabularInline):
extra = 0
@admin.register(Beer)
@admin.register(BeerStyle)
class BeerStyle(admin.ModelAdmin):
date_hierarchy = "created"
search_fields = ("name",)
@admin.register(BeerProducer)
class BeerProducer(admin.ModelAdmin):
date_hierarchy = "created"
list_display = ("uuid",)
search_fields = ("name",)
@ -23,7 +26,6 @@ class BeerAdmin(admin.ModelAdmin):
list_display = (
"uuid",
"title",
"style",
)
ordering = ("-created",)
search_fields = ("title",)

View File

@ -0,0 +1,75 @@
# Generated by Django 4.2.16 on 2024-10-22 21:47
from django.db import migrations, models
import django_extensions.db.fields
class Migration(migrations.Migration):
dependencies = [
("beers", "0002_beer_beeradvocate_image_beer_producer_and_more"),
]
operations = [
migrations.CreateModel(
name="BeerStyle",
fields=[
(
"id",
models.BigAutoField(
auto_created=True,
primary_key=True,
serialize=False,
verbose_name="ID",
),
),
(
"created",
django_extensions.db.fields.CreationDateTimeField(
auto_now_add=True, verbose_name="created"
),
),
(
"modified",
django_extensions.db.fields.ModificationDateTimeField(
auto_now=True, verbose_name="modified"
),
),
("description", models.TextField(blank=True, null=True)),
],
options={
"get_latest_by": "modified",
"abstract": False,
},
),
migrations.RemoveField(
model_name="beer",
name="beeradvocate_image",
),
migrations.RemoveField(
model_name="beer",
name="style",
),
migrations.AddField(
model_name="beer",
name="untappd_image",
field=models.ImageField(
blank=True, null=True, upload_to="beers/untappd/"
),
),
migrations.AddField(
model_name="beer",
name="untappd_rating",
field=models.FloatField(blank=True, null=True),
),
migrations.AddField(
model_name="beerproducer",
name="untappd_id",
field=models.CharField(blank=True, max_length=255, null=True),
),
migrations.AddField(
model_name="beer",
name="styles",
field=models.ManyToManyField(to="beers.beerstyle"),
),
]

View File

@ -10,6 +10,10 @@ from scrobbles.mixins import ScrobblableMixin
BNULL = {"blank": True, "null": True}
class BeerStyle(TimeStampedModel):
description = models.TextField(**BNULL)
class BeerProducer(TimeStampedModel):
description = models.TextField(**BNULL)
location = models.CharField(max_length=255, **BNULL)
@ -24,7 +28,7 @@ class Beer(ScrobblableMixin):
description = models.TextField(**BNULL)
ibu = models.SmallIntegerField(**BNULL)
abv = models.FloatField(**BNULL)
style = models.CharField(max_length=100, **BNULL)
styles = models.ManyToManyField(BeerStyle)
non_alcoholic = models.BooleanField(default=False)
beeradvocate_id = models.CharField(max_length=255, **BNULL)
beeradvocate_score = models.SmallIntegerField(**BNULL)