Встречается на собеседованиях • сегодня

Как используется двойное подчеркивание в названии методов в Django

В Django двойное подчеркивание (__) в названиях методов используется в двух основных случаях:

  1. Для магических методов Python (dunder methods)
    Например: __str__, __init__, __eq__. Эти методы вызываются автоматически в определенных ситуациях.
  1. Для lookups в QuerySet API
    Позволяет делать сложные запросы к связанным моделям и полям. Например:
    python
    # Поиск по связанной модели
    Entry.objects.filter(blog__name='Django Blog')
    
    # Фильтр по дате (__year, __month и т.д.)
    Entry.objects.filter(pub_date__year=2023)

Пример магического метода в модели:

python
class Article(models.Model):
    title = models.CharField(max_length=100)
    
    def __str__(self):
        return self.title

Важно: не путать с одинарным подчеркиванием _, которое в Python обычно означает "приватный" атрибут.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы