Learn Python Coding
40.9K subscribers
714 photos
37 videos
24 files
526 links
Learn Python through simple, practical examples and real coding ideas. Clear explanations, useful snippets, and hands-on learning for anyone starting or improving their programming skills.

Admin: @HusseinSheikho || @Hussein_Sheikho
Download Telegram
In Python 3.15, a single asterisk replaces nested loops. 🐍✨

Previously, to flatten a list, you would write:

rows = [[1, 2], [3], [4, 5]]

flat = [x for row in rows for x in row]


Now, you can simply use:

flat = [*row for row in rows]
# [1, 2, 3, 4, 5]


A double asterisk merges dictionaries: 📦

configs = [
{"debug": False, "timeout": 10},
{"timeout": 30},
]

config = {**part for part in configs}
# {'debug': False, 'timeout': 30}


When keys overlap, the last value wins – this is convenient for combining settings from multiple sources. ⚙️

Unpacking removes one level of nesting. In Python 3.14, this syntax within comprehensions will raise a SyntaxError. 🚫

https://peps.python.org/pep-0798/

#Python #Python315 #Programming #CodingTips #TechNews #Developer

✨ Join Best TG Channels https://xn--r1a.website/addlist/0f6vfFbEMdAwODBk

⭐️ Join Our WhatsApp Channel https://whatsapp.com/channel/0029VaC7Weq29753hpcggW2A
❤7
🚀 Django 6.1: Loading related data on demand, cascading deletion handled by the database, and a new email configuration.

The release was made on August 5th. Three major changes:

1. New Field Loading Modes 📂

FETCH_PEERS retrieves data for related objects from the same QuerySet when accessing an un-loaded field. This helps combat the N+1 problem:
from django.db import models

books = Book.objects.fetch_mode(models.FETCH_PEERS)

for book in books:
print(book.author.name)

In this example, Django executes two queries: one for the books and one for their authors.

The FETCH_RAISE mode raises an exception instead of performing an implicit query – useful for detecting unexpected database accesses.

2. Deletion at the Database Level 🗑

For ForeignKey.on_delete, the options DB_CASCADE, DB_SET_NULL, and DB_SET_DEFAULT are now available. The logic is handled directly by the database using SQL ON DELETE.

Note: DB_CASCADE does not trigger pre_delete and post_delete signals.

3. Multiple Email Backends 📧

The MAILERS configuration allows you to define different connections using a dictionary, and you can select the desired connection when sending emails using the using parameter.

Before upgrading, check your database versions: you need PostgreSQL 15+, MySQL 8.4+, MariaDB 10.11+, or SQLite 3.37+.

🔗 https://www.djangoproject.com/weblog/2026/aug/05/django-61-released/

#Django #Python #WebDevelopment #Django61 #Backend #TechNews

✨ Join Best TG Channels https://xn--r1a.website/addlist/0f6vfFbEMdAwODBk

⭐️ Join Our WhatsApp Channel https://whatsapp.com/channel/0029VaC7Weq29753hpcggW2A
❤1