Zum Hauptinhalt springen
tsecurity.de LIVE
Echtzeit-Radar & Feeds
Alle RSS Feeds
👥 Community & Social
YouTube Security VideosAndroid Police: Samsung is smashing records! #shorts #tech #phones(21.09.2026 um 13:55 Uhr)
YouTube Security Videosheise & c't: Bundesnetzagentur wollte diesen Futterautomaten verbieten(21.09.2026 um 13:53 Uhr)
YouTube Security VideosNeil Patel: Your Google Traffic Isn't An Asset It's A Loan #shorts(21.09.2026 um 14:05 Uhr)
Windows Tipps & SecurityF-14 A Tomcat Top Gun endlich als Revell Klemmbausteinmodell erhältlich(21.09.2026 um 14:27 Uhr)
Sichere ProgrammierungShow the Hand-Back Sample Before Approving an Agent Score(21.09.2026 um 14:15 Uhr)
Sichere ProgrammierungHybrid retrieval in one Postgres query: RRF over tsvector + pgvector(21.09.2026 um 14:15 Uhr)
YouTube Security VideosAndroid Police: Samsung is smashing records! #shorts #tech #phones(21.09.2026 um 13:55 Uhr)
YouTube Security Videosheise & c't: Bundesnetzagentur wollte diesen Futterautomaten verbieten(21.09.2026 um 13:53 Uhr)
YouTube Security VideosNeil Patel: Your Google Traffic Isn't An Asset It's A Loan #shorts(21.09.2026 um 14:05 Uhr)
Windows Tipps & SecurityF-14 A Tomcat Top Gun endlich als Revell Klemmbausteinmodell erhältlich(21.09.2026 um 14:27 Uhr)
Sichere ProgrammierungShow the Hand-Back Sample Before Approving an Agent Score(21.09.2026 um 14:15 Uhr)
Sichere ProgrammierungHybrid retrieval in one Postgres query: RRF over tsvector + pgvector(21.09.2026 um 14:15 Uhr)
Intelligence View
⚡ tsecurity.de Intelligence

Using Python set() to make Django queries efficient

Recently, I worked on cleaning up some Django code that was running slower than it should. The task was simple: check if a folder was part of a user’s home folders. But the way it was written caused unnecessary delays. Here’s the process I …

0
↗ Quelle (dev.to)
Reagiere als Erste:r — dein Feedback zählt!

Recently, I worked on cleaning up some Django code that was running slower than it should. The task was simple: check if a folder was part of a user’s home folders. But the way it was written caused unnecessary delays. Here’s the process I followed to fix it.









The Problem: Repeating Database Queries



In the original code, a function checked if a folder was in the user’s home folders by calling a database query every time it ran. It looked like this:




def is_a_home_folder(folder):
if folder in get_user_home_folders():
return True
return False






This function was part of a larger operation:




def can_delete_element(request, element, from_tag=False):
if is_a_home_folder(element):
return False
# Other checks...






For a system with a lot of elements, running a query every time made the program slow. It became clear that this could be improved.









The Fix: Cache the Data



To speed things up, I changed the code to fetch all the home folders once and reuse that data throughout the function. Here’s the updated version:




def is_a_home_folder(folder, home_folders):
return folder in home_folders

def can_delete_element(request, element, from_tag=False):
# Fetch the home folders once
home_folders = set(get_user_home_folders())

if is_a_home_folder(element, home_folders):
return False
# Other checks...












What This Changes





  1. Fewer Queries: Instead of querying the database each time, the home folders are fetched once at the start.


  2. Faster Checks: Using a set instead of a list makes lookups much faster.


  3. Easier to Read: Separating data fetching from the main logic makes the function more straightforward.









Why This Works



The logic here is simple: avoid doing the same work over and over. If you can fetch data once and reuse it, you save time and make the code easier to maintain. This doesn’t just apply to database queries—it’s useful for any repetitive task.









Conclusion



By making small adjustments like this, you can improve both performance and clarity in your code. It’s a good reminder that even simple changes can have a big impact. Have you run into similar issues while coding? Let me know how you handled it.

Ähnliche Beiträge
🔍 Verwandte News

Auch interessante Nachrichten Using Python set() to make Django queries efficient

Thematisch verwandte Begriffe: Using, Python, make, Django · 6 Treffer

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

Zum Aktualisieren ziehen
ZERO-DAY CVE-2026-94097 | A vulnerability was determined in Netcore NBR200V2 1.3.241127.071246. Th…
Advisory →
TTS Reader • tsecurity.de Voice
tsecurity.de Icon
tsecurity.de App
Offline-Lesen, Eilmeldungen & 0ms Ladezeit

Installiere tsecurity.de direkt auf deinen Home-Bildschirm für das ultimative Vollbild-Magazinerlebnis ohne Browser-Leisten.

Nächster Beitrag
Themen-Radar & Intelligence Matrix
Echtzeit-Taxonomie nach Angriffsvektoren & Plattformen

tsecurity.de Live Threat Radar

🔴 LIVE RADAR
MONITORING
AKTIV
CVE-DATENBANK
LIVE
🔍
Community Radar & Live Chat
Sentinel Bot online • Live-Stream
Dein Cluster: Security Explorer
Match:
lädt…
Verbindung zum Community-Stream wird aufgebaut...
Bearbeitungsmodus — Senden überschreibt deine Nachricht
Community-Puls — was gerade passiert
lädt…
Aktivitäten deiner Analysten
lädt…
Neues Thema oder Eilmeldung einreichen

Reiche interessante Links, Zero-Days oder Debatten ein. Die Community entscheidet per Upvote über die Veröffentlichung.

Heiß diskutierte Einreichungen
🔖 Gespeicherte Artikel
📂 Keine gespeicherten Artikel vorhanden.
Zurück Ziehen Vor
Links: vorheriger Artikel Rechts: nächster Artikel unten: schließen
News NIS-2 Frühwarnung Tier-1 Intel ⏱️ 3 Min vor 10 Min
Artikeldaten werden geladen...

Zurück: vorheriger Vor: nächster
↗ Original-Quelle
Social Reaktionen Deine Reaktion zählt
Einstufung & Relevanz-Poll 0 Stimmen
In sozialen Netzwerken teilen 1-Klick