|
|
@@ -1,4 +1,4 @@
|
|
|
-from datetime import datetime
|
|
|
+from datetime import datetime, timezone
|
|
|
|
|
|
from sqlalchemy import (
|
|
|
Column,
|
|
|
@@ -11,6 +11,7 @@ from sqlalchemy import (
|
|
|
Text,
|
|
|
)
|
|
|
from sqlalchemy.orm import relationship
|
|
|
+from sqlalchemy.orm.relationships import _RelationshipDeclared
|
|
|
|
|
|
from .db import Base
|
|
|
|
|
|
@@ -20,6 +21,7 @@ class Kunde(Base):
|
|
|
id = Column(Integer, primary_key=True, index=True)
|
|
|
name = Column(String, nullable=False)
|
|
|
historie = Column(Text, default="")
|
|
|
+ forderungen = relationship("Forderung", back_populates="kunde")
|
|
|
|
|
|
|
|
|
class Forderung(Base):
|
|
|
@@ -29,14 +31,14 @@ class Forderung(Base):
|
|
|
verkaeufer_id = Column(Integer, index=True)
|
|
|
fahrzeug = Column(String, nullable=True)
|
|
|
fahrgestellnummer = Column(String, nullable=True)
|
|
|
- rechnungsnummer = Column(String, unique=True, nullable=False, index=True)
|
|
|
+ rechnungsnummer: Column[str] = Column(String, nullable=False)
|
|
|
betrag = Column(Numeric(12, 2), nullable=False)
|
|
|
faelligkeit = Column(Date, nullable=True)
|
|
|
status = Column(String, default="offen")
|
|
|
|
|
|
- kunde = relationship("Kunde", backref="forderungen")
|
|
|
- zahlungen = relationship("Zahlung", backref="forderung")
|
|
|
- bemerkungen = relationship("Bemerkung", backref="forderung")
|
|
|
+ kunde = relationship("Kunde", back_populates="forderungen")
|
|
|
+ zahlungen = relationship("Zahlung", back_populates="forderung")
|
|
|
+ bemerkungen = relationship("Bemerkung", back_populates="forderung")
|
|
|
|
|
|
|
|
|
class Zahlung(Base):
|
|
|
@@ -46,6 +48,8 @@ class Zahlung(Base):
|
|
|
betrag = Column(Numeric(12, 2), nullable=False)
|
|
|
datum = Column(Date, nullable=False)
|
|
|
|
|
|
+ forderung = relationship("Forderung", back_populates="zahlungen")
|
|
|
+
|
|
|
|
|
|
class Bemerkung(Base):
|
|
|
__tablename__ = "bemerkungen"
|
|
|
@@ -54,4 +58,6 @@ class Bemerkung(Base):
|
|
|
benutzer = Column(String, nullable=False)
|
|
|
bemerkung = Column(Text, nullable=True)
|
|
|
wiedervorlage_datum = Column(Date, nullable=True)
|
|
|
- zeitstempel = Column(DateTime, default=datetime.utcnow)
|
|
|
+ zeitstempel = Column(DateTime, default=datetime.now(timezone.utc))
|
|
|
+
|
|
|
+ forderung = relationship("Forderung", back_populates="bemerkungen")
|