
Модель
class TeamMember(models.Model):
team = models.ForeignKey(TeamInfo, on_delete=models.CASCADE)
member = models.ForeignKey(User, on_delete=models.CASCADE)
position = models.CharField(max_length=50,default="member")
class TeamInfo(models.Model):
leader = models.ForeignKey(User, on_delete=models.CASCADE, null=False, blank=False)
team_name = models.CharField(max_length=50, unique=True)
team_description = models.TextField(blank=True)
member_count = models.IntegerField(default=1)
def __str__(self):
return self.team_name
Просмотр
class TeamInfoListView(LoginRequiredMixin,ListView):
model = TeamInfo
paginate_by = 20
шаблон (https://github.com/hyunsokstar/django_inflearn2/blob/master/todo/templates/todo/teaminfo_list.html)
{% for tm in p.teammember_set.all %}
{% if tm.member.username == request.user.username %}
<a class="btn btn-outline-info btn-sm team_register_button" data-id = {{p.id}} data-user={{request.user.id}} >탈퇴</a>
{% endif %}
{% endfor %}
У меня два вопроса.
1.Как можно заставить кнопку регистрации исчезнуть при регистрации пользователя? 2.Для логики в настоящее время она неэффективна ~! Есть ли способ ее улучшить?
Спасибо, что сообщили мне об этом.
============================================================================
Как высказал, что я создал логику, используя get_context_data и filter () в views.py, чтобы решить эту проблему. Спасибо
проблема решена этой
class TeamInfoListView(LoginRequiredMixin,ListView):
model = TeamInfo
paginate_by = 20
def get_context_data(self, *, object_list=None, **kwargs):
context = super(type(self), self).get_context_data(**kwargs)
myteam=TeamMember.objects.filter(member=self.request.user)
if myteam.exists():
myteam=TeamMember.objects.get(member=self.request.user).team
print("myteam : ", myteam)
context['myteam']= myteam
return context
<td>
{% if p.team_name == myteam.team_name %}
<a class="btn btn-outline-info btn-sm team_register_button" data-id = {{p.id}} data-user={{request.user.id}} >탈퇴</a>
{% else %}
<a class="btn btn-outline-info btn-sm team_register_button" data-id = {{p.id}} data-user={{request.user.id}} >가입</a>
{% endif %}
</td>
