From 6af0a15f9e8452110629155e1174678499dc2cc1 Mon Sep 17 00:00:00 2001 From: gw3000 Date: Wed, 28 Jun 2023 21:55:23 +0200 Subject: [PATCH] added aviary --- aviary/__init__.py | 0 aviary/admin.py | 13 +++++++++++++ aviary/apps.py | 6 ++++++ aviary/migrations/__init__.py | 0 aviary/models.py | 12 ++++++++++++ aviary/tests.py | 3 +++ aviary/views.py | 3 +++ bird/admin.py | 4 ++-- bird/models.py | 2 ++ core/settings.py | 13 +++++++++---- 10 files changed, 50 insertions(+), 6 deletions(-) create mode 100644 aviary/__init__.py create mode 100644 aviary/admin.py create mode 100644 aviary/apps.py create mode 100644 aviary/migrations/__init__.py create mode 100644 aviary/models.py create mode 100644 aviary/tests.py create mode 100644 aviary/views.py diff --git a/aviary/__init__.py b/aviary/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/aviary/admin.py b/aviary/admin.py new file mode 100644 index 0000000..8f75713 --- /dev/null +++ b/aviary/admin.py @@ -0,0 +1,13 @@ +from django.contrib import admin + +from .models import Aviary + + +@admin.register(Aviary) +class AviaryAdmin(admin.ModelAdmin): + list_display = [ + "description", + "condition", + "last_ward_round", + ] + list_filter = ("description", "condition", "last_ward_round") diff --git a/aviary/apps.py b/aviary/apps.py new file mode 100644 index 0000000..94e82d9 --- /dev/null +++ b/aviary/apps.py @@ -0,0 +1,6 @@ +from django.apps import AppConfig + + +class AviaryConfig(AppConfig): + default_auto_field = "django.db.models.BigAutoField" + name = "aviary" diff --git a/aviary/migrations/__init__.py b/aviary/migrations/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/aviary/models.py b/aviary/models.py new file mode 100644 index 0000000..029f5c2 --- /dev/null +++ b/aviary/models.py @@ -0,0 +1,12 @@ +from uuid import uuid4 +from django.db import models + + +class Aviary(models.Model): + id = models.UUIDField(primary_key=True, default=uuid4, editable=False) + description = models.CharField(max_length=256) + condition = models.CharField(max_length=256) + last_ward_round = models.DateTimeField(auto_now_add=True) + + def __str__(self): + return self.description diff --git a/aviary/tests.py b/aviary/tests.py new file mode 100644 index 0000000..7ce503c --- /dev/null +++ b/aviary/tests.py @@ -0,0 +1,3 @@ +from django.test import TestCase + +# Create your tests here. diff --git a/aviary/views.py b/aviary/views.py new file mode 100644 index 0000000..91ea44a --- /dev/null +++ b/aviary/views.py @@ -0,0 +1,3 @@ +from django.shortcuts import render + +# Create your views here. diff --git a/bird/admin.py b/bird/admin.py index ac6d832..9f23423 100644 --- a/bird/admin.py +++ b/bird/admin.py @@ -4,7 +4,7 @@ from .models import Bird, FallenBird @admin.register(FallenBird) -class ContractAdmin(admin.ModelAdmin): +class FallenBirdAdmin(admin.ModelAdmin): list_display = [ "bird", "date_found", @@ -16,5 +16,5 @@ class ContractAdmin(admin.ModelAdmin): @admin.register(Bird) -class ContractAdmin(admin.ModelAdmin): +class BirdAdmin(admin.ModelAdmin): list_display = ["name"] diff --git a/bird/models.py b/bird/models.py index 84a0ed3..ecde864 100644 --- a/bird/models.py +++ b/bird/models.py @@ -4,6 +4,7 @@ from django.conf import settings from django.db import models from rescuer.models import Rescuer +from aviary.models import Aviary class FallenBird(models.Model): @@ -15,6 +16,7 @@ class FallenBird(models.Model): updated = models.DateTimeField(auto_now=True) rescuer = models.ForeignKey(Rescuer, on_delete=models.CASCADE) user = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE) + aviary = models.ForeignKey(Aviary, on_delete=models.CASCADE) def __str__(self): return self.place diff --git a/core/settings.py b/core/settings.py index a8fa798..c8b1f41 100644 --- a/core/settings.py +++ b/core/settings.py @@ -53,6 +53,7 @@ INSTALLED_APPS = [ # ----------------------------------- # My Apps # ----------------------------------- + "aviary", "bird", "rescuer", "sites", @@ -112,16 +113,20 @@ DATABASES = { AUTH_PASSWORD_VALIDATORS = [ { - "NAME": "django.contrib.auth.password_validation.UserAttributeSimilarityValidator", + "NAME": + "django.contrib.auth.password_validation.UserAttributeSimilarityValidator", }, { - "NAME": "django.contrib.auth.password_validation.MinimumLengthValidator", + "NAME": + "django.contrib.auth.password_validation.MinimumLengthValidator", }, { - "NAME": "django.contrib.auth.password_validation.CommonPasswordValidator", + "NAME": + "django.contrib.auth.password_validation.CommonPasswordValidator", }, { - "NAME": "django.contrib.auth.password_validation.NumericPasswordValidator", + "NAME": + "django.contrib.auth.password_validation.NumericPasswordValidator", }, ]