fix(objekt): Fahrzeug-Zuordnung als 1:n statt n:m (fachliche Korrektur)
CI / backend-tests (push) Failing after 1m23s
CI / frontend-build (push) Successful in 29s

Nutzer-Korrektur: "Ein Objekt gehört immer nur zu genau einem Fahrzeug"
- Spalte gezogen_von_objekt_id -> fahrzeug_id (Rename-Migration 0010)
- Zuvor begonnener n:m-Ansatz (objekt_kopplung Tabelle/Endpoints/Panel)
  wieder entfernt, da fachlich falsch
- PATCH /objekte/{id} prüft Existenz + direkten Zyklus (A<->B)
- Frontend: einfache Single-Select "Fahrzeug zuordnen" statt Kopplungs-Panel

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01CVgbozhYmuEhiEJHffRXCV
This commit is contained in:
2026-09-05 01:11:25 +02:00
co-authored by Claude Sonnet 5
parent ebd6a9589e
commit 38b8ce1795
8 changed files with 144 additions and 109 deletions
+3 -4
View File
@@ -56,12 +56,11 @@ async def objekt_aus_vorlage(
standort_id: int,
vorlage: Beladungsvorlage,
zustaendiger_server_id: int,
gezogen_von_objekt_id: int | None = None,
fahrzeug_id: int | None = None,
) -> Objekt:
"""Prompt 09 (Neuanlage, nicht Duplizieren): Objektpositionen werden aus den
Vorlagenpositionen initialisiert, Ist-Menge startet bei 0 ("nicht kontrolliert").
gezogen_von_objekt_id: optionale Fahrzeug/Anhänger-Kopplung (Nutzer-Vorgabe),
beide Fälle möglich - unabhängiges Objekt (NULL) oder fest zugeordnet."""
fahrzeug_id: optionale Zuordnung zu einem Fahrzeug (1:n, Nutzer-Vorgabe)."""
objekt = Objekt(
code=code,
name=name,
@@ -69,7 +68,7 @@ async def objekt_aus_vorlage(
vorlage_id=vorlage.id,
standort_id=standort_id,
zustaendiger_server_id=zustaendiger_server_id,
gezogen_von_objekt_id=gezogen_von_objekt_id,
fahrzeug_id=fahrzeug_id,
)
db.add(objekt)
await db.flush()