Adding model for persons and users

This commit is contained in:
Michael Bergbauer 2025-05-10 14:53:35 +02:00
parent e28ceb2da1
commit 7015a79e07
5 changed files with 70 additions and 3 deletions

View File

@ -0,0 +1,37 @@
# Generated by Django 5.2.1 on 2025-05-10 12:49
import django.db.models.deletion
from django.db import migrations, models
class Migration(migrations.Migration):
initial = True
dependencies = [
]
operations = [
migrations.CreateModel(
name='Person',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('vorname', models.CharField(max_length=100)),
('nachname', models.CharField(max_length=100)),
('geburtsdatum', models.DateField(blank=True, null=True)),
('aktiv', models.BooleanField(default=True)),
],
),
migrations.CreateModel(
name='UserAccount',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('userName', models.CharField(max_length=150, unique=True)),
('passwort_hash', models.CharField(max_length=128)),
('role', models.CharField(choices=[('mitglied', 'Mitglied'), ('geraetewart', 'Gerätewart'), ('kommandant', 'Kommandant'), ('admin', 'Administrator')], max_length=50)),
('isActive', models.BooleanField(default=True)),
('lastLogin', models.DateTimeField(blank=True, null=True)),
('person', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='benutzerkonten', to='member.person')),
],
),
]

View File

@ -1,3 +0,0 @@
from django.db import models
# Create your models here.

11
member/models/Person.py Normal file
View File

@ -0,0 +1,11 @@
from django.db import models
from django.utils import timezone
class Person(models.Model):
vorname = models.CharField(max_length=100)
nachname = models.CharField(max_length=100)
geburtsdatum = models.DateField(null=True, blank=True)
aktiv = models.BooleanField(default=True)
def __str__(self):
return f"{self.vorname} {self.nachname}"

View File

@ -0,0 +1,20 @@
from django.db import models
from django.utils import timezone
from .Person import Person
class UserAccount(models.Model):
person = models.ForeignKey(Person, on_delete=models.CASCADE, related_name='benutzerkonten')
userName = models.CharField(max_length=150, unique=True)
passwort_hash = models.CharField(max_length=128)
role = models.CharField(max_length=50, choices=[
('mitglied', 'Mitglied'),
('geraetewart', 'Gerätewart'),
('kommandant', 'Kommandant'),
('admin', 'Administrator'),
])
isActive = models.BooleanField(default=True)
lastLogin = models.DateTimeField(null=True, blank=True)
def __str__(self):
return f"{self.benutzername} ({self.rolle})"

View File

@ -0,0 +1,2 @@
from .Person import Person
from .UserAccount import UserAccount