MU
Maciej Urmański10 марта 2019 г. 23:01
Django list of subscribed objects
Hi, I try to show user object from category which they subscribe. But don't know exacly how.
I have four models:
Board ( category )
Subject
Embed and Subscribe (foreign to user and to board)
class Board(models.Model): title = models.CharField(max_length=255, verbose_name='Tytuł') slug = AutoSlugField(populate_from='title', unique=True) image = models.ImageField(upload_to='board-cover', verbose_name='Tło kategorii', null=True, blank=True) body = models.TextField(verbose_name='Opis kategorii') author = models.ForeignKey(User, on_delete=models.CASCADE) created_at = models.DateTimeField(auto_now_add=True) class Subscribe(models.Model): user = models.ForeignKey(User, on_delete=models.CASCADE, related_name='subscribed_users') board = models.ForeignKey(Board, on_delete=models.CASCADE, related_name='subscribed_boards') created_at = models.DateTimeField(auto_now_add=True) subscribe = models.BooleanField(default=False) class Subject(models.Model): title = models.CharField(max_length=255, verbose_name='Tytuł') slug = AutoSlugField(populate_from='title', unique=True) body = models.TextField(blank=True, verbose_name='Treść') image = models.ImageField(upload_to='subject', null=True, blank=True) author = models.ForeignKey(User, on_delete=models.CASCADE) active = models.BooleanField(default=True) created_at = models.DateTimeField(auto_now_add=True) board = models.ForeignKey(Board, on_delete=models.CASCADE, related_name='subjects', verbose_name='Kategoria') votes = GenericRelation(LikeDislike, related_query_name='subjectsvotes') class Embed(models.Model): url = models.URLField(max_length=255) title = models.CharField(max_length=255) description = models.TextField() thumbnail_url = models.URLField(max_length=255) html = models.TextField() author = models.ForeignKey(User, on_delete=models.CASCADE) created_at = models.DateTimeField(auto_now_add=True) board = models.ForeignKey(Board, on_delete=models.CASCADE, blank=True, null=True, related_name='embeds') votes = GenericRelation(LikeDislike, related_query_name='embedvotes')
In my views I try something like this:
def feed(request): embeds = Embed.objects.filter(author=request.user) subscribed_ids = request.user.subscribed_users.values_list('id', flat=True) actions = embeds.filter(author_id__in=subscribed_ids) actions = actions[:10] return render(request, 'boards/feed.html', {'actions': actions})
but nothing show up.
Рекомендуем хостинг TIMEWEB
Стабильный хостинг, на котором располагается социальная сеть EVILEG. Для проектов на Django рекомендуем VDS хостинг.Вам это нравится? Поделитесь в социальных сетях!
Комментарии
Только авторизованные пользователи могут публиковать комментарии.
Пожалуйста, авторизуйтесь или зарегистрируйтесь
Пожалуйста, авторизуйтесь или зарегистрируйтесь
B
- Bogdannn
- 28 марта 2024 г. 2:15
C++ - Тест 001. Первая программа и типы данных
- Результат:46баллов,
- Очки рейтинга-6
Последние комментарии
Qt Linux - Урок 001. Автозапуск Qt приложения под Linux как сделать автозапуск для флэтпака, который не даёт создавать файлы в ~/.config - вот это вопрос ))
АК
Qt WinAPI - Урок 007. Работаем с ICMP Ping в Qt Без строки #include <QRegularExpressionValidator> в заголовочном файле не работает валидатор.
Анатолий Кононенко5 февраля 2024 г. 9:50
EVA25 декабря 2023 г. 18:30
Boost - статическая линковка в CMake проекте под Windows Сделал всё по-как у вас, но выдаёт ошибку [build] LINK : fatal error LNK1104: не удается открыть файл "libboost_locale-vc142-mt-gd-x64-1_74.lib" Хоть убей, не могу понять в чём дел…
Qt/C++ - Урок 056. Подключение библиотеки Boost в Qt для компиляторов MinGW и MSVC Для решения твой проблемы добавь в файл .pro строчку "LIBS += -lws2_32" она решит проблему , лично мне помогло.
Сейчас обсуждают на форуме
Как получить в массив значения из связанной модели? Спасибо, разобрался:))
AC
QML Обнулить значения SpinBox Доброго времени суток, не могу разобраться с обнулением значение SpinBox находящего в делегате. import QtQuickimport QtQuick.ControlsWindow { width: 640 height: 480 visible: tr…
Alexandru Codreanu19 января 2024 г. 19:57
BlinCT27 декабря 2023 г. 16:57
Дмитрий10 января 2024 г. 12:18
Evgenii Legotckoi12 декабря 2023 г. 14:48
Hi,
it looks rightly.
Can you show print out of def feed. For example
May be you can write, I'm not sure
Hmm:
I print this and actions is empty. I try also with list and still the same.
may be, you want filter board instead of embed?
Now I get Board instead of embed. :D
Hmm in evileg You have too subscribe option to category articles I see. How You do this? :)
Before I try to add manytomanyfield to board instead of create new model Subscribe but i don't know how to query that way. Now I see in subscribe model too don't know how. :D
I have created subscriptions similar like LikeDislike model, because of I need generic Subscription for all types of content (It may be category of articles, forum, bookmarks, forum topics and so on).