поиск последователей пользователя django из базы данных

-1

У меня есть приложение с системой пользовательских подписчиков, которую я смог достичь, но я пытаюсь получить отдельных последователей и последующих пользователей, но я не смог их получить. Ниже мой код

View.py

def following(request):
    query = Contact.objects.filter(request.user.following)
    context = {
        'query': query
        }
    template = 'following.html'
    return render(request, template, context)

Models.py

class Contact(models.Model):
    user_from = models.ForeignKey(User,related_name='rel_from_set')
    user_to = models.ForeignKey(User,related_name='rel_to_set')
    created = models.DateTimeField(auto_now_add=True,db_index=True)

    class Meta:
        ordering = ('-created',)

    def __str__(self):
        return '{} follows {}'.format(self.user_from,self.user_to)

User.add_to_class('following',models.ManyToManyField('self', through=Contact,related_name='followers', symmetrical=False))

шаблон

{% load staticfiles %}
{% block content %}
<h2>following</h2>
<div id="action-list">

<h1>{{ results.get_full_name }}</h1>
</div>
{% endblock %}

Дополнительный код будет добавлен по запросу.

  • 0
    Пожалуйста, предоставьте больше кода
  • 0
    как выглядят модели?
Теги:

1 ответ

0

Это можно решить двумя способами. Во-первых: ваш фильтр неправильный:

def following(request):
    query = Contact.objects.filter(user_from=request.user)
    context = {
        'query': query
        }
    template = 'following.html'
    return render(request, template, context)

Другое решение с обратным отношением, использующее related_name

def following(request):
    query = request.user.rel_from_set.all()
    context = {
        'query': query
        }
    template = 'following.html'
    return render(request, template, context)

Подобные работы, конечно же, для поля user_to Contact.

EDIT: ваш шаблон не использует соответствующие контекстные переменные, которые вы определили в following. Поэтому вам нужно немного настроить его:

{% load staticfiles %}
{% block content %}
<h2>following</h2>
<div id="action-list">

{% for result in query %}
    <h1>{{ result }}</h1>
{% endfor %}
</div>
{% endblock %}
  • 0
    Это не отображает следующее или последователей. Пожалуйста, помогите обзор
  • 0
    Я думаю, вам лучше уточнить свой вопрос. Например, вы имеете в виду: User.objects.filter(rel_from_set__user_to=request.user) ?
Показать ещё 4 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню