Группы пользователей в Django - PullRequest
0 голосов
/ 24 февраля 2020

Я просто немного потерял себя, и я застрял на этом.

У меня есть модель, в которой есть поле группы:

class CalendarGroups(models.Model):
    GRP_CALS = (
        ('Grp1', 'Grp1'),
        ('Grp2', 'Grp2'),
        ('Test', 'Test'),
    )
    name = models.CharField(max_length=155, choices=GRP_CALS, blank=True, null=True)

    def __str__(self):
        return self.name

    class Meta:
        ...


class CalendarMaster(models.Model):
    created_by = models.ForeignKey(User, on_delete=models.CASCADE, null=True, blank=True)
    date_created = models.DateTimeField(auto_now_add=True)
    group = models.ForeignKey(CalendarGroups, on_delete=models.CASCADE)
    date_valid = models.DateTimeField(null=True, blank=True)

Я просто хочу проверить, соответствует ли группа пользователя группе календаря - будет отображен некоторый контекст.

Мои взгляды:

@login_required(login_url='registration/login')
def add_event(request, pk):
    opp = get_object_or_404(OpportunityList, pk=pk)
    opp_locked = get_object_or_404(Locked, pk=pk)
    user = User.objects.get(username=request.user.username)
    ...
    user_groups = request.user.groups.values_list('name', flat=True)

    events_all = Events.objects.all()
    calendars = Calendar.objects.all()

    form = ...
    if request.method == 'POST':
        form = ...(request.POST or None)

        if form.is_valid():
            event_form = form.save(commit=False)
            event = Events.objects.create(
                event_name=opp_locked.type + '/' + str(opp.oppc_place) + '/' + opp.oppc_client_name,
                event_comment=form.cleaned_data['event_comment'],
                ...
            )
            ...

            event.save()

            messages.success(request, '...' + ...)
            return redirect('...')
    context = {
        'form': form,
        'opp': opp,
        'events': events_all,
        "calendars": calendars,
        "today": datetime.now().date(),
        "user": user,
        "user_groups": user_groups,
    }
    return render(request, '...', context)

Мне нужно что-то вроде:

{% if user_group == calendar_group %}

Но каким-то образом я не могу с этим справиться -.-

PS. Группы пользователей такие же, как у CalendarMaster

1 Ответ

0 голосов
/ 06 марта 2020

Я только что добавил еще одно поле, связывающее эти две таблицы. Поскольку не было никакого отношения к этим двум таблицам, было невозможно связать их случайно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...