Django
Вопросы @haarrp
all questions to @haarrp
@ai_machinelearning_big_data -ML
@ArtificialIntelligencedl -AI
@datascienceiot - ml 📚
@pythonlbooks -📚books
@hr_itwork-работа
Created
Between 1 March 2018 and 31 August 2021 — estimated from Telegram’s id allocation, not measured. How this range is calculated.
Technology — a classification, not a measurement. An on-box language model (Qwen3.6-35B-A3B-FP8, prompt version 1) read this channel’s own recent posts on 12 September 2026 and assigned it the closest of 31 fixed categories, at 100% confidence. This is a model’s judgement about what the channel is likely to be about, not a fact this register measured the way a subscriber count or a view count is measured — it can be revised on a later pass, and it carries no weight anywhere else on this page. How this classification works, and the other topics.
Observations
These are measurements, not verdicts. Each one below states something we counted, alongside the evidence it was counted from, so you can check it rather than take it. None of them is graded: every observation this register holds is recorded at severity 0, because the precision of the detectors behind them has not been measured yet, and a rating we cannot support is worse than none. Read each as a fact about the data, not as a judgement about the channel. How we measure.
Content that also appears on other registered channels
Posts published here appear in near-verbatim form on 1 other registered channel. This entry also sits inside a group of 3 channels linked by matching posts, directly or through other channels in the group; two members of the group may share no posts with each other. The matching is on the text itself, not on Telegram’s forward marker, so it finds a copy whether or not it was labelled as one.
Matching posts — open both and compare (4 of the pairs behind the counts below)
Channels this entry shares post bodies with, where at least one matching post pair has no forward credit between the two channels, or to a common source, recorded in our data
Text overlap is the Jaccard coefficient over the set of distinct three-word phrases in the two bodies: 1.00 is identical wording, and the threshold for counting a pair at all is 0.70. Candidates are generated by simhash LSH (4 x 16-bit bands, exact Hamming <= 3) verified against the bodies with Jaccard over the SET of distinct 3-word shingles. Published first counts which side of each matching pair carries the earlier timestamp — in this corpus, which is the limitation directly below.
What this cannot establish
MEASURED, DOMINANT ERROR SOURCE: a post ingested before 2026-08-06 may have carried a forward header that was not recorded. A 45-pair hand-check against live t.me pages found 14 (31%) where the live page shows a forward header naming the other channel and the database has none, plus 4 more (9%) naming a third party. The text match itself was wrong 0 times out of 45. Read attribution_capture.items_in_trusted_window before treating the unattributed count as a claim.
Telegram lets a channel forward a post with a header naming the source, and we only began reliably recording that header on 2026-08-06. 1 of the 1 matches recorded here fall after that date and carried no header when we read them. The rest predate reliable capture and are not evidence either way.
“Published first” means first in this corpus. We hold 33 comparable posts for this entry, running 1 October 2025 to 8 November 2026. A channel we have read one page deep will look younger than a neighbour we have read in full, and the order would flip with no change in the underlying facts.
The detector’s own notes on this observation, as it recorded them. Names in this_style are fields of the underlying evidence record, which the plain-English paragraphs above read out for this entry.
Verbatim republication has three causes and the text separates only two: a clone/mirror, unattributed copy-paste, or BOTH channels copying a common third source that neither attributes. The spread filter (content held by at most 8 channels) reduces the third and does not remove it.
'Earliest' means earliest IN THIS CORPUS. A channel ingested one page deep will look younger than a neighbour ingested in full; corpus_coverage above is there to be checked before the direction is believed.
shared_verified_est extrapolates the sampled pass rate over the full narrow match count; sampled/passed are the numbers actually measured.
Absence of a forward header is not proof of intent: Telegram lets a channel disable forward attribution, and a credit written in the body is not parsed as attribution here (mention_edge_either_way above is the closest available signal).
Of the group of 3 channels, the one whose matching posts we hold earliest is @pythonl. That is a statement about our reading window, not a claim of authorship.
Recorded under the key clone_mutual, last confirmed 11 November 2026. An observation that a later pass no longer finds is cleared, and a cleared observation is removed from this page rather than being shown struck through — we do not keep publishing a claim we have withdrawn. Dispute an observation.
Channels linked by matching posts
This channel is in a group of 3 registered channels linked by matching posts, directly or through other channels in the group. This channel may share no posts with some of the channels listed below, and listed channels may share none with each other. Links are found by comparing text fingerprints across every channel on the register.
Which channel, if either, published first is deliberately not shown in this list. “First” could only mean first in our own crawl, which depends on how deep we happened to reach into each channel’s history, not on when the content was actually first posted. Our one hand-check read 45 of the highest-confidence flagged pairs against the live Telegram pages. In 18 of them the live page showed a “Forwarded from” credit that our database had no record of, so reading that pair as an unattributed copy was wrong; the check did not measure who published first. This list is ordered by subscriber count, the same as every other listing on this site, never by which channel we think came first. Near-verbatim matching has several ordinary explanations besides copying — a channel mirroring itself, an unattributed repost, or two channels independently repeating the same wire story — and this measurement cannot tell those apart. How this is measured.
25 measurements spanning 94 days, net -70. Dots are measurements; the straight line between them is drawn to join them, not to claim we know the path taken in between — snapshots are recorded only when a count changes, so gaps mean “no change observed”, never “interpolated”. The vertical axis spans 6,563–6,654 and does not start at zero.
Measurement log — every subscribers count we have recorded, most recent 20 of 25
Measured (UTC)
Subscribers
Change
8 Nov 2026, 23:14
6,573
-10
5 Nov 2026, 19:50
6,583
-7
2 Nov 2026, 16:39
6,590
-11
30 Oct 2026, 11:19
6,601
-5
27 Oct 2026, 03:56
6,606
-4
23 Oct 2026, 21:30
6,610
-4
20 Oct 2026, 22:01
6,614
+6
17 Oct 2026, 19:17
6,608
-2
14 Oct 2026, 19:28
6,610
+7
11 Oct 2026, 16:15
6,603
-10
5 Oct 2026, 13:02
6,613
-2
27 Sept 2026, 15:02
6,615
+4
15 Sept 2026, 11:00
6,611
-1
11 Sept 2026, 19:01
6,612
-3
6 Sept 2026, 20:35
6,615
-3
1 Sept 2026, 23:14
6,618
+10
29 Aug 2026, 13:14
6,608
-4
26 Aug 2026, 19:02
6,612
-9
23 Aug 2026, 20:54
6,621
+1
20 Aug 2026, 14:36
6,620
first reading
Engagement
33 posts held, back to 1 October 2025 — the reader has not yet reached the start of this channel’s public history, so older posts may sit further back, unread. Read across 18 pages of Telegram’s post history, 20 posts per page.
ERR · 30 days
7.16%
avg views ÷ 6,573 subscribers
Avg views / post
471
5 posts measured
Reaction rate
—
this channel exposes no reaction counts
Posts in window
5
of 33 held
ERR is average views per post over the last 30 days divided by subscribers, the definition TGStat uses, so this figure is comparable with the one you will see elsewhere. It falls structurally as a channel grows: a high ERR on a small channel and a low one on a large channel describe reach mathematics, not quality. We publish the figure and the sample it came from and pass no verdict on it.
ER is defined industry-wide as (forwards + reactions + comments) ÷ views — note the denominator is views, not subscribers. Telegram’s public web preview carries views and reactions but not forward or comment counts, so the reaction rate above is the reactions term only and is therefore a floor: the true ER for this channel is higher by an amount we have not measured and will not estimate.
What these figures were computed from
Window
Rolling 30 days · latest post in window 8 November 2026
Posts held
33 (1 October 2025 – 8 November 2026)
Views total
2,354
Reactions total
—
Forwards / comments
not exposed by the public surface — not measured, not estimated
Readings taken
9 Nov 2026, 09:38 UTC
Views are a single reading per post, taken at the time above. A post published in the last day or two is still accumulating views, which pulls the 30-day average down slightly. That is a property of the standard definition rather than a fault in it, so we keep the definition rather than “correcting” the number into something nobody can reproduce.
Precision. Telegram publishes view counts on its public widget in short form — 8.12K, 3.7M — so any reading at or above 1,000 reaches us rounded to three significant figures, and only counts below 1,000 are exact. Averages and rates derived from them are shown to the same precision rather than to the unit: a figure like 3,701,250 would assert digits nobody measured.
Reaction counts are published per emoji and rounded the same way, so a total below 1,000 is exact and a larger one is a sum that may carry a rounded component from each emoji above 1,000. Because it is a sum, it does not look rounded — read a large reaction total as three significant figures per contributing emoji rather than as the figure it prints.
What this channel posts
Photos
133
Videos
6
Links
293
Lifetime counters from Telegram’s own channel header, read 9 November 2026 — not the date at the top of this page, which is when the subscriber count was last read. Below Telegram’s rounding threshold, so these counts are exact.
Video runtime
15s
Average length
15s
Measured directly from 1 video with a duration reading, out of the posts we hold for this channel — not this channel’s whole posting history, only the sample this register has actually read. An exact reading to the second, taken from the post itself rather than from Telegram’s own rounded chrome, so it carries no ≈ mark.
Recent posts
Telegram’s own ‘edited’ marker: 1 of 5 posts held from the last 30 days (20.0%) carried it when this register last read them. The marker says a post was changed after publishing, not what it said before — this register holds the earlier wording only where an edit fell between two of its own reads (see the edit ledger and how it is measured).
Django закрыл 6 уязвимостей безопасности. Среди них SSRF, утечка паролей и раскрытие пользовательских данных
3 ноября команда Django выпустила экстренные обновления безопасности для трёх веток фреймворка:
- Django 6.1.3
- Django 6.0.10
- Django 5.2.19
Всего исправлено 6 уязвимостей: одна средней и пять низкой степени серьёзности.
Что обнаружили:
1. SSRF через GeoJSON
Злоумышленник мог передать вредоносный URL в…
Django 6.1: загрузка связанных данных по требованию, каскадное удаление силами БД и новая настройка почты.
Релиз вышел 5 августа. Три основных изменения:
1. Новые режимы загрузки полей
FETCH_PEERS при обращении к незагруженному полю получает данные сразу для объектов из того же QuerySet. Это помогает бороться с N+1:
from django.db import models
books = Book.objects.fetch_mode(models.FETCH_PEERS)
for book in bo…
Хотите повлиять на Django 6.2? Команда ищет помощь с тестированием и ревью новых возможностей.
Django Steering Council опубликовал список изменений, которые хотелось бы подготовить к релизу.
Среди крупных:
- `CompositeField` – поддержка многоколоночных подзапросов. Здесь нужны именно тесты.
- `DEFAULT_PK_FIELD` – настройка поля первичного ключа по умолчанию, например UUID.
- Перенос моделей между приложениями.
Ес…
django-upgrade-report: CLI, который сам скажет, какие зависимости мешают обновить Django и в каком порядке их менять
Обновление Django обычно упирается не в сам фреймворк, а в десяток сторонних пакетов, которые ещё не поддерживают новую версию. Этот инструмент отвечает на два вопроса сразу: что блокирует апгрейд и что обновлять первым.
Работает так. Читает uv.lock, poetry.lock, pdm.lock, Pipfile.lock, requirements*…
🔥 Хочешь быстрее расти в IT? Хватит учиться в одиночку
Окружение решает больше, чем кажется.
Собрал папки и каналы, где можно быстрее влиться в нужное направление, следить за трендами и не вариться в своём пузыре.
AI: t.me/ai_machinelearning_big_data
Python: t.me/pythonl
Linux: t.me/linuxacademiya
Хакинг: t.me/linuxkalii
DevOps: t.me/DevOPSitsec
Docker: https://t.me/+90Z5TAyfuNU5YmRi
Golang: t.me/Golang_google
Rus…
django-upgrade-report. Показывает, какие зависимости блокируют апгрейд Django и в каком порядке их обновлять.
https://github.com/derblub/django-upgrade-report
🐍 Какая зависимость держит ваш Django на старой версии?
django-upgrade-report читает зависимости проекта, проверяет заявленную совместимость на PyPI и составляет план обновления:
- Какие пакеты блокируют переход.
- Что можно обновить заранее.
- Что нужно обновлять одновременно с Django.
- Где потребуется ручная проверка.
Поддерживает lock-файлы uv, Poetry, PDM, Pipenv и requirements.txt. Подбирает минимальную подх…
Вопросы на собеседовании Python Senior: 100 вопросов с ответами (2026)
Вопросы на собеседовании Python Senior с ответами: 100 вопросов и примеры кода — CPython, GIL, asyncio, метаклассы, типизация, производительность, Python 3.14.
https://uproger.com/voprosy-na-sobesedovanii-python-senior/
🔥 Django Q() objects — один из самых полезных инструментов ORM, который многие используют слишком редко
Q() позволяет собирать сложные условия для WHERE, комбинируя их через AND, OR и NOT.
Пример:
Pet.objects.filter(
Q(last_given_treats__isnull=True)
| Q(last_given_treats__lte=timezone.now() - timedelta(days=1)),
treats_needed__gt=F("treats_given"),
)
Особенно полезно для динамических фильтров:
q =…
🔥 Хак в Django: Meta.indexes можно использовать для собственных миграций
Оказывается, models.Index в Django можно превратить почти в универсальную migration-операцию.
Идея:
class CustomMigrationOperation(models.Index):
def create_sql(self, model, schema_editor, **kwargs):
...
def remove_sql(self, model, schema_editor, **kwargs):
...
А затем добавить её прямо в модель:
class Meta:
i…
Нечёткий поиск в Django + PostgreSQL можно сделать намного умнее обычного icontains.
В Caktus Group разобрали fuzzy string matching средствами самого PostgreSQL - без отдельного Elasticsearch.
Идея проста: вместо точного совпадения искать строки, похожие друг на друга.
Для этого в PostgreSQL можно использовать:
- pg_trgm
- trigram similarity
- Django TrigramSimilarity
- пороги похожести
- GIN/GiST индексы для уск…
🐍 Django-разработчикам: `DEBUG=True` в проде опаснее, чем кажется.
Это не просто красивые страницы ошибок. При включённом DEBUG приложение может раскрывать stack trace, настройки, пути файлов, middleware, URL-паттерны и другие детали окружения.
Главная рекомендация - fail closed:
DEBUG = False
То есть по умолчанию DEBUG всегда выключен, а включается только локально.
Даже staging, QA и preview-среды, доступные …
Showing the 12 most recent of 33 posts we hold for @Django_pythonl. View and reaction counts are the latest single reading for each post, not a live figure, and a recent post is still accumulating both. A view count marked ≈ was rounded by Telegram before we ever saw it — t.me prints views in full below 1,000 and to three significant figures above, so ≈1,200,000 means somewhere between 1,150,000 and 1,249,999. Unmarked counts are exact. Text is reproduced from the public post preview and truncated for length.
Forward network
Republished by
Channels on the register that have forwarded this channel's posts into their own feed.
Built only from forwarded posts we have actually read, on both sides. Coverage is early and deliberately incomplete: a missing link means we have not read the post that would prove it, never that the relationship does not exist. Counts are distinct forwarded posts observed, so they only ever go up as we read more.
Mentions
Names
Channels on the register whose handles appear in this channel's posts.
A mention is a weaker signal than a forward and is counted separately for that reason — naming a channel is not republishing it, and a handle in a post body is easy to place deliberately. The post counts beside each row below are distinct posts in which the handle appeared, from posts we have read on both sides — the “Named by N registered channels” figure above is a different count, of distinct NAMING CHANNELS rather than posts, and is not the sum of the rows under it.
Handles this channel named that no longer answer
Dead references
1
handles named in this channel’s posts, vacant today
Evidenced gone
0
we ourselves saw one of these resolve, at some point
Never seen alive
1
vacant every time we have ever looked
@Django_pythonl named 1 handle that resolve to nothing today. That is a fact about the reference, not necessarily a fact about the handle’s history — see the two groups below.
Most of these may never have existed as a live channel at all. A handle a channel names can be a typo, an aspirational name nobody registered, or a channel that was already gone before this one ever mentioned it. Unless a row below is marked evidenced, all we know is that it references a handle that is not a live channel today — not that anything “died”. How this is measured.
Never seen alive
References a handle that is not a live channel — we have no record it ever was one.
@basic_auth_required named in 3 posts, 8 August 2026 – 13 August 2026
Appears in Telegram’s recommendations for other channels
The reverse of the list above, and a different kind of signal. This does not require this channel to have ever been asked about directly — each row below is a channel we DID ask Telegram about, whose Telegram-generated list happened to include this one. A channel can appear here with an empty list above it, because being named by someone else’s query is independent of having been queried itself.
Python/ django @pythonl · 58,287 Telegram ranks this channel #10 of 84 here — alongside 83 others — read 22 August 2026
Python вопросы с собеседований @python_job_interview · 24,906 Telegram ranks this channel #18 of 90 here — alongside 89 others — read 15 September 2026
PythonCoder Official @pythoncoder92 · 71,330 Telegram ranks this channel #34 of 46 here — alongside 45 others — read 28 August 2026
Python Books. Книги по питону @pythonbooks · 38,331 Telegram ranks this channel #36 of 65 here — alongside 64 others — read 17 September 2026
Python Developer @python_tg · 21,216 Telegram ranks this channel #41 of 85 here — alongside 84 others — read 25 September 2026
Codehub @pythonadvisorai · 31,362 Telegram ranks this channel #45 of 71 here — alongside 70 others — read 5 September 2026
Data Science @datascienceiot · 42,496 Telegram ranks this channel #48 of 76 here — alongside 75 others — read 29 August 2026
Data Science. SQL hub @sqlhub · 36,025 Telegram ranks this channel #68 of 87 here — alongside 86 others — read 2 September 2026
DevOps @DevOPSitsec · 23,892 Telegram ranks this channel #72 of 90 here — alongside 89 others — read 18 September 2026
This channel appears in 9 seed channels' Telegram-generated recommendation lists in total. Each is Telegram’s list for THAT channel, not this one — see how this is measured.
Cite this entry
A live page changes as we take new readings, so a citation should name the measurement it is based on, not just the URL. The line below cites the subscriber count as measured 8 November 2026 — this
entry's latest reading, not the date you are reading this.
“Django Python” (@Django_pythonl), 6,573 subscribers as measured 8 November 2026. Telegram Register, tgregister.com/channel/Django_pythonl.
Full measurement history, CC BY 4.0. Every reading this register holds for this entry, not just the latest one, as a dated, downloadable record: CSV · JSON. Free to use with attribution to tgregister.com. Each file carries its own generation timestamp, which is the figure to cite for exactly when the data was retrieved.