Извлечь только те курсы, которые создал пользователь
Я пытаюсь добиться того, чтобы при создании теста пользователь указывал только те курсы, которые он создал. Чтобы пользователь мог создать тест для определенного курса, который он создал. Однако теперь в списке отображаются все курсы, которые есть в моей базе данных. Я не знаю, как сделать так, чтобы в списке отображались только те курсы, которые создал пользователь. Пожалуйста, помогите мне.
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']