Resa301
Resa301

Reputation: 15

Django - how to get all the users in team when using a costumised user model

I am new to django and have a question: I created a CustomUser model within a users app.

I tried

from users.models import CustomUser, Team 

team1= Team.objects.first()

users_team1= team1.user.objects.all()

and it doesnt get me the list of users in this Team

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)])

I want created a HTML page

{% 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 %}

how can i show all the users in a specific Team? Thanks in advance.

Upvotes: 0

Views: 72

Answers (1)

Biplove Lamichhane
Biplove Lamichhane

Reputation: 4095

You should do:

from users.models import CustomUser, Team 

team1= Team.objects.first()

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

Your template should be sthg like:

{% 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 %}

Upvotes: 1

Related Questions