Django — как собрать всех пользователей в команду при использовании костюмированной модели пользователя

#django

#django

Вопрос:

Я новичок в django, и у меня вопрос: я создал пользовательскую модель в пользовательском приложении.

Я пытался

 from users.models import CustomUser, Team 

team1= Team.objects.first()

users_team1= team1.user.objects.all()

  

и это не дает мне список пользователей в этой команде

 class CustomUser(AbstractUser):
    bio= models.CharField(max_length=300, null= True, blank=True)



class Team (models.Model):

    title = models.CharField(max_length=200)
    user= models.ManyToManyField(get_user_model())
    date_created= models.DateTimeField(auto_now_add=True, blank=True, null=True)
    date_updated= models.DateTimeField(auto_now=True,blank=True, null=True )

    def __str__(self):
        return self.title

    def get_absolute_url(self):  # new
        return reverse('team_detail', args=[str(self.pk)])

  

Я хочу создать HTML-страницу

 {% extends '_base.html' %}
{% block title %}{{ object.title }}{% endblock title %}

{% block content %}

    <div class="team-detail">

        <h2><a href="">{{ team.title }}</a></h2>
        <p>Team tile : {{ team.title }}</p>

        <p>user: {{ team.user }}</p>

    </div>

{% endblock content %}
  

как я могу показать всех пользователей в определенной команде?
Заранее спасибо.

Ответ №1:

Вы должны сделать:

 from users.models import CustomUser, Team 

team1= Team.objects.first()

# lets pass team1 to your template
return render(request, 'template/name.html', {'team': team1})
  

Ваш шаблон должен быть похож на sthg:

 {% extends '_base.html' %}
{% block title %}{{ object.title }}{% endblock title %}

{% block content %}

    <div class="team-detail">

        <h2><a href="">{{ team.title }}</a></h2>
        <p>Team tile : {{ team.title }}</p>

        {% for user in team.user.all %}
            <p>user: {{ user }}</p>
        {% endfor %}
    </div>

{% endblock content %}