Pydantic-Modell: Wie kann ich ein Feld vom Hashing/EQ-Vergleich ausschließen?
Posted: 18 Jan 2025, 22:23
Ich habe das folgende hashbare pydantische Modell:
Jetzt möchte ich nicht, dass diese Berichte als unterschiedlich betrachtet werden, nur weil ihr Downloaddatum unterschiedlich ist (das füge ich mit datetime.now() ein). Wie kann ich download_date von der Berücksichtigung in den Funktionen __hash__ und __eq__ ausschließen, damit ich Stunts ausführen kann wie:
und einen einzigartigen Satz von TAFs haben, obwohl zwei möglicherweise unterschiedliche Download-Datum haben? Ich suche nach einer Lösung, bei der ich die Methoden __hash__ und __eq__ nicht überschreiben muss...
Ich habe mir dieses Thema angesehen, aber nur es Antworten darauf, wie man ein Feld im Allgemeinen aus dem Modell ausschließt (damit es nicht in den JSON-Dumps angezeigt wird), aber ich möchte, dass es im JSON-Dump angezeigt wird.
Code: Select all
class TafReport(BaseModel, frozen=True):
download_date: dt
icao: str
issue_time: dt
validity_time_start: dt
validity_time_stop: dt
raw_report: str
Code: Select all
tafs = list(set(tafs))
Ich habe mir dieses Thema angesehen, aber nur es Antworten darauf, wie man ein Feld im Allgemeinen aus dem Modell ausschließt (damit es nicht in den JSON-Dumps angezeigt wird), aber ich möchte, dass es im JSON-Dump angezeigt wird.