Как сортировать в Django созданные пользователями группы слов при выборе их из формы?

Я создал модель "Слова для изучения" и различных групп, создаваемых пользователями, файл models.py

class ForeignWord(models.Model):
    from_word = models.CharField(max_length=256, verbose_name='Исходное Слово')
    to_word = models.CharField(max_length=256, verbose_name='Перевод')
    word_group = models.ForeignKey('WordGroup', on_delete=models.PROTECT, blank=True, null=True, verbose_name='Группа Слов')
    hashtag = models.ForeignKey('Hashtag', on_delete=models.PROTECT, blank=True, null=True, verbose_name='Хэштег')
    is_learned = models.BooleanField(default=False, verbose_name='Слово Выучено')
    user = models.ForeignKey(User, on_delete=models.CASCADE, verbose_name='Пользователь')

    def __str__(self):
        return f"{self.from_word} :: {self.to_word}"

    class Meta:
        verbose_name = 'Слово для изучения'
        verbose_name_plural = 'Слова для изучения'


class WordGroup(models.Model):
    group = models.CharField(max_length=64, verbose_name='Группа Слов')
    user = models.ForeignKey(User, on_delete=models.CASCADE)

    def __str__(self):
        return self.group

    class Meta:
        verbose_name = 'Группа Слов'
        verbose_name_plural = 'Группы Слов'

Затем на основе модели ForeignWord создал форму Django, файл forms.py:

    from django.forms import ModelForm
    from . models import ForeignWord
    
    
    class ForeignWordForm(ModelForm):
        class Meta:
            model = ForeignWord
            fields = ['from_word', 'to_word', 'hashtag', 'word_group']

И после добавил функцию во views.py

 def add_word(request):
        if request.method == 'GET':
            return render(request, 'bouncer/add_word.html', {'form': ForeignWordForm()})
    
        else:
            try:
                form = ForeignWordForm(request.POST)
                new_word = form.save(commit=False)
                new_word.user = request.user
                new_word.save()
                return redirect('bouncer:homepage')
            
            except ValueError:
                return render(request, 'bouncer/add_word.html', {'form': ForeignWordForm(), 'error': 'Недопустимое Значение'})

Проблема в том, что когда пользователь выбирает группу для своего слова он видит чужие записи. Как сделать, чтобы пользователь видел лишь свои группы слов? Результат

Вернуться на верх