Для Django достаточно модели с автоматически создаваемым id, URLField и TextField. Получайте запись через get_object_or_404 по идентификатору маршрута.
Определение модели Article для получения записи по идентификатору
Для Django достаточно модели с автоматически создаваемым id, URLField и TextField. Получайте запись через get_object_or_404 по идентификатору маршрута.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Условие
Требуется сформировать описание модели Article, которая будет использоваться для извлечения статьи из базы данных по идентификатору, полученному из URL, и последующего отображения полного текста в шаблоне.
# models.py
# TODO: описать модель Article с полями: id, url, содержимое статьи
Модель должна содержать как минимум три поля: уникальный идентификатор записи, URL‑адрес статьи и её текстовое содержание.
Ответ
Для Django достаточно модели с автоматически создаваемым id, URLField и TextField. Получайте запись через get_object_or_404 по идентификатору маршрута.
# models.py
from django.db import models
class Article(models.Model):
url = models.URLField(max_length=2048)
content = models.TextField()
Django добавит первичный ключ id, если он не задан явно. После создания миграции и её применения представление может выглядеть так:
from django.shortcuts import get_object_or_404, render
def article_detail(request, article_id):
article = get_object_or_404(Article, pk=article_id)
return render(request, 'article.html', {'article': article})
В шаблоне {{ article.content }} экранируется по умолчанию. Не используйте safe для недоверенного HTML. Уникальность url добавляйте только если это действительно бизнес-правило, а не предположение.