MU
Maciej UrmańskiНаурыз 10, 2019, 1: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 хостинг.Ол саған ұнайды ма? Әлеуметтік желілерде бөлісіңіз!
Пікірлер
Г
- Геній
- Қыр. 13, 2024, 12:46 Т.Қ.
C++ - Тест 001. Первая программа и типы данных
- Нәтиже:66ұпай,
- Бағалау ұпайлары-1
t
- torgaev_2024
- Қыр. 8, 2024, 6:20 Т.Ж.
C++ - Тест 001. Первая программа и типы данных
- Нәтиже:33ұпай,
- Бағалау ұпайлары-10
Соңғы пікірлер
Linux жүйесінде файлдарды қалай көшіруге болады Задумывались когда-нибудь о том, как мы привыкли доверять свои вещи службам грузоперевозок? Сейчас такие услуги стали неотъемлемой частью нашей жизни, особенно когда речь идет о переездах между …
ВР
Linux жүйесінде файлдарды қалай көшіруге болады Screenshot_20240802-065123.png
Влад РусоковТам. 2, 2024, 1:47 Т.Ж.
QML - Сабақ 016. SQLite деректер қоры және онымен QML Qt-та жұмыс істеу Здравствуйте, возникает такая проблема (я новичок): ApplicationWindow неизвестный элемент. (М300) для TextField и Button аналогично. Могу предположить, что из-за более новой верси…
Qt Linux - Сабақ 001. Linux астында Autorun Qt қолданбасы как сделать автозапуск для флэтпака, который не даёт создавать файлы в ~/.config - вот это вопрос ))
АК
Qt WinAPI - Сабақ 007. Qt ішінде ICMP Ping арқылы жұмыс істеу Без строки #include <QRegularExpressionValidator> в заголовочном файле не работает валидатор.
Анатолий КононенкоАқп. 5, 2024, 1:50 Т.Ж.
Енді форумда талқылаңыз
Evgenii LegotckoiМаусым 24, 2024, 3:11 Т.Қ.
при создании qml проекта Kits есть но недоступны для выбора Поставил Qt Creator 11.0.2. Qt 6.4.3 При создании проекта Qml не могу выбрать Kits, они все недоступны, хотя настроены и при создании обычного Qt Widget приложения их можно выбрать. В чем может …
BlinCTМаусым 25, 2024, 1 Т.Ж.
BlinCTМамыр 5, 2024, 5:46 Т.Ж.
Evgenii LegotckoiМамыр 2, 2024, 2:07 Т.Қ.
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).