Pydantic-Modell: Wie kann ich ein Feld vom Hashing/EQ-Vergleich ausschließen?Python

Python-Programme
Guest
 Pydantic-Modell: Wie kann ich ein Feld vom Hashing/EQ-Vergleich ausschließen?

Post by Guest »

Ich habe das folgende hashbare pydantische Modell:

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
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:

Code: Select all

tafs = list(set(tafs))
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.

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post