Пользователь статьи
Если для статей (новости, товары и др) надо указать пользователя, который добавил текущую статью, то используют параметр models.ForeignKey()
.
Для примера используется стандартная таблица «auth_user» (создаётся при настройки с базой данных).
# news/models.py from django.db import models from django.contrib.auth.models import User # импорт модели User class News(models.Model): # … user = models.ForeignKey(User, on_delete=models.CASCADE)
Параметр ForeignKey
создаёт не просто поле «user_id» в базе данных, но и связывает данное поле с таблицей «auth_user», т.е. указывать можно только существующих пользователей.
Также, при удалении пользователя автоматически удалится всё, что связано с текущим пользователем (статьи, комментарии, т.е. те места, где используется параметр models.ForeignKey()
).
Чтобы выбрать статьи указанного пользователя, используется следующий код:
Page.objects.filter(user=1) # 1-ый способ Page.objects.filter(user_id=1) # 2-ой способ
Вывести пользователя в шаблоне можно через следующий код:
{{page.user}} <!-- admin --> {{page.user_id}} <!-- 1 -->
Поддержать автора