Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from django.contrib.auth.models import User
- class Cohort(models.Model) :
- cohort_name = models.CharField(max_length=64, primary_key=True)
- cohort_description = models.TextField(null=False)
- creation_date = models.DateTimeField(default=now)
- class CohortMembers(models.Model) :
- cohort = models.ForeignKey(Cohort)
- member = models.ForeignKey(User)
- creation_date = models.DateTimeField(default=now)
- {% for cohort in object_list %}
- <a href="./{{ cohort.cohort_name }}/">{{ cohort.cohort_name }}</a>
- <!-- list all members of the cohort -->
- {% for cohortmember in cohort.cohortmembers_set.all %}
- {% if request.user.username == cohortmember.member.username %}
- <!-- the user is a member of the cohort, provide a delete button -->
- <button>Leave cohort</button>
- {% else %}
- Some other user called {{ cohortmember.member.username }} is a member.
- {% endif %}
- {% endfor %}
- {% endfor %}
- # clearly some better python would be to use a django model query, rather
- # than iterate over the members, but this encapsulates the basic logic
- is_member = False
- for cohortmember in cohort.cohortmembers_set.all:
- if request.user == cohortmember.member:
- is_member = True
- if is_member :
- # a leave button
- else:
- # a join button
- def get_context_data(self, **kwargs) :
- context = super(CohortListView, self).get_context_data(**kwargs)
- memberships = CohortMembers.objects.filter(member=self.request.user)
- cohorts = []
- for membership in memberships:
- cohorts.append(membership.cohort)
- context['memberships'] = cohorts
- return context
- {% for cohort in object_list %}
- {% if cohort in memberships %}
- <!-- leave button -->
- {% else %}
- <!-- join button -->
- {% endif %}
- {% endfor %}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement