remove unneccessary relation menu bird to mail
This commit is contained in:
parent
29ae840701
commit
6f06f8a3ed
7 changed files with 20 additions and 41 deletions
|
@ -12,7 +12,6 @@ erDiagram
|
|||
User ||--o{ Contact : creates
|
||||
|
||||
Bird ||--o{ FallenBird : "is type of"
|
||||
Bird ||--o{ BirdEmail : "has emails for"
|
||||
Bird ||--o{ Costs : "can have costs"
|
||||
Bird }|--|| BirdStatus : "has status"
|
||||
Bird }|--|| Circumstance : "has circumstances"
|
||||
|
@ -26,8 +25,6 @@ erDiagram
|
|||
|
||||
ContactTag ||--o{ Contact : "categorizes"
|
||||
|
||||
Emailadress ||--o{ BirdEmail : "used for birds"
|
||||
|
||||
User {
|
||||
int id PK
|
||||
string username
|
||||
|
@ -169,12 +166,6 @@ erDiagram
|
|||
boolean is_jagdbehoerde
|
||||
boolean is_wildvogelhilfe_team
|
||||
}
|
||||
|
||||
BirdEmail {
|
||||
int id PK
|
||||
int bird_id FK
|
||||
int email_id FK
|
||||
}
|
||||
```
|
||||
|
||||
## Tabellenbeschreibungen
|
||||
|
@ -270,10 +261,7 @@ erDiagram
|
|||
- Standard-Aktivierung für Naturschutz und Wildvogelhilfe
|
||||
- **Beziehungen**: Gehört zu einem `User`
|
||||
|
||||
#### `BirdEmail` (Vogel-E-Mail-Verknüpfung)
|
||||
- **Zweck**: Many-to-Many Beziehung zwischen Vögeln und E-Mail-Adressen
|
||||
- **Primärschlüssel**: BigInt
|
||||
- **Hinweis**: Wird durch die neuen Benachrichtigungsfelder in `Bird` und `Emailadress` ersetzt
|
||||
**Hinweis**: Das frühere `BirdEmail`-System wurde durch das direkte kategoriebasierte Benachrichtigungssystem ersetzt.
|
||||
|
||||
## Datenbank-Design-Prinzipien
|
||||
|
||||
|
|
|
@ -11,7 +11,7 @@ from .forms import BirdAddForm, BirdEditForm, BirdSpeciesForm
|
|||
from .models import Bird, FallenBird
|
||||
|
||||
from sendemail.message import messagebody
|
||||
from sendemail.models import BirdEmail, Emailadress
|
||||
from sendemail.models import Emailadress
|
||||
|
||||
env = environ.Env()
|
||||
|
||||
|
|
|
@ -89,7 +89,6 @@ JAZZMIN_SETTINGS = {
|
|||
"contact.Contact": "fas fa-solid fa-address-card",
|
||||
"contact.ContactTag": "fas fa-solid fa-tags",
|
||||
"sendemail.Emailadress": "fas fa-solid fa-envelope",
|
||||
"sendemail.BirdEmail": "fas fa-solid fa-envelope",
|
||||
},
|
||||
# Icons that are used when one is not manually specified
|
||||
# "default_icon_parents": "fas fa-chevron-circle-right",
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
from django.contrib import admin
|
||||
|
||||
from .models import Emailadress, BirdEmail
|
||||
from .models import Emailadress
|
||||
|
||||
|
||||
@admin.register(Emailadress)
|
||||
|
@ -23,11 +23,3 @@ class EmailaddressAdmin(admin.ModelAdmin):
|
|||
if not change: # Only set user when creating new object
|
||||
obj.user = request.user
|
||||
super().save_model(request, obj, form, change)
|
||||
|
||||
|
||||
@admin.register(BirdEmail)
|
||||
class BirdEmailAdmin(admin.ModelAdmin):
|
||||
list_display = ["bird", "email"]
|
||||
search_fields = ["bird", "email"]
|
||||
list_filter = ["bird", "email"]
|
||||
list_per_page = 20
|
||||
|
|
|
@ -5,4 +5,4 @@ from django.utils.translation import gettext_lazy as _
|
|||
class SendemailConfig(AppConfig):
|
||||
default_auto_field = "django.db.models.BigAutoField"
|
||||
name = "sendemail"
|
||||
verbose_name = _("Untere Naturschutzbehörde")
|
||||
verbose_name = _("Mail Empfänger")
|
||||
|
|
16
app/sendemail/migrations/0004_delete_birdemail.py
Normal file
16
app/sendemail/migrations/0004_delete_birdemail.py
Normal file
|
@ -0,0 +1,16 @@
|
|||
# Generated by Django 5.2.2 on 2025-06-10 07:22
|
||||
|
||||
from django.db import migrations
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('sendemail', '0003_alter_emailadress_is_naturschutzbehoerde_and_more'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.DeleteModel(
|
||||
name='BirdEmail',
|
||||
),
|
||||
]
|
|
@ -35,19 +35,3 @@ class Emailadress(models.Model):
|
|||
class Meta:
|
||||
verbose_name = _("Emailadresse")
|
||||
verbose_name_plural = _("Emailadressen")
|
||||
|
||||
|
||||
class BirdEmail(models.Model):
|
||||
bird = models.ForeignKey(
|
||||
Bird, on_delete=models.CASCADE, verbose_name=_("Vogel")
|
||||
)
|
||||
email = models.ForeignKey(
|
||||
Emailadress, on_delete=models.CASCADE, verbose_name=_("Emailadresse")
|
||||
)
|
||||
|
||||
def __str__(self):
|
||||
return f"{self.bird} - {self.email}"
|
||||
|
||||
class Meta:
|
||||
verbose_name = _("Vogel-Email")
|
||||
verbose_name_plural = _("Vogel-Emails")
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue