Извлечь только те курсы, которые создал пользователь

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

models.py

class Course(models.Model):

user = models.ForeignKey(Users, on_delete = models.CASCADE)
media = models.ImageField(upload_to = 'media/course')
title = models.CharField(max_length=300, null = False)
subtitle = models.CharField(max_length=500, null = False)
description = models.CharField(max_length=5000, null = False)
language = models.CharField(max_length=20, null = False, choices=LANGUAGE)
level = models.CharField(max_length=20, null = False, choices=LEVEL)
category = models.CharField(max_length=30, null = False, choices=CATEGORY)
subcategory = models.CharField(max_length=20, null = False)
price = models.FloatField(null = True)
roles_responsibilities = models.CharField(max_length=2500, null = False)
timeline_budget = models.CharField(max_length=250, null = False)
req_prerequisite = models.CharField(max_length=2500, null = False)
certificate = models.CharField(max_length=5, null = False, choices=CERTIFICATE)
slug = AutoSlugField(populate_from='title', max_length=500, unique=True, null=True)

def __str__(self):
    return self.title

@property
def sliceLearn(self):
  subtitle = self.roles_responsibilities
  return subtitle.split('.')[:-1]

class Quiz(models.Model):
 user = models.ForeignKey(Users, on_delete = models.CASCADE)
 title = models.CharField(max_length=300, null = False)
 description = models.CharField(max_length=5000, null = False)
 instructions = models.CharField(max_length=5000, null = False)
 marks = models.FloatField(null = True)
 course = models.ForeignKey(Course, on_delete = models.CASCADE)
 
 def __str__(self):
    return self.title

views.py

def createQuiz(request):
user_id = Users.objects.get(user=request.user)
print(user_id)
form = QuizForm()
if request.method == 'POST':
    form = QuizForm(request.POST or None, request.FILES)
    if form.is_valid():
        quiz = form.save(commit=False)
        quiz.user = user_id.course_id
        quiz.save()
        messages.success(request, "Quiz was successfully created!")
        print('success!')
        return redirect('viewquiz')
    else:
        print('fail')
        messages.error(request, "Please correct the error below!")
context = { 'form': form }
return render(request, 'assessments/create_quiz.html', context)

forms.py

class QuizForm(forms.ModelForm):
class Meta:
    model = Quiz
    fields = ['user', 'title', 'description', 'instructions', 'marks', 'course']
Вернуться на верх