如何从Django中的模型实例中删除用户?

如何从Django中的模型实例中删除用户?,django,django-models,django-views,many-to-many,Django,Django Models,Django Views,Many To Many,我有一个电子学习网站,学生可以注册课程,并访问由讲师创建和管理的课程内容。但我不知道如何让学生取消某一特定课程的学习,然后在取消学习课程后更新课程列表。请注意,课程模型有一个属性students,该属性对学生具有多对多模型字段 以下是课程应用程序的models.py文件:- class Course(models.Model): owner = models.ForeignKey(User, related_name='cour

我有一个电子学习网站,学生可以注册课程,并访问由讲师创建和管理的课程内容。但我不知道如何让学生取消某一特定课程的学习,然后在取消学习课程后更新课程列表。请注意,课程模型有一个属性students,该属性对学生具有多对多模型字段

以下是课程应用程序的models.py文件:-

class Course(models.Model):
    owner = models.ForeignKey(User,
                              related_name='courses_created',
                              on_delete=models.CASCADE)
    subject = models.ForeignKey(Subject,
                                related_name='courses',
                                on_delete=models.CASCADE)
    title = models.CharField(max_length=200)
    slug = models.SlugField(max_length=200, unique=True)
    overview = models.TextField()
    created = models.DateTimeField(auto_now_add=True)
    students = models.ManyToManyField(User,related_name='courses_joined',blank=True)

    class Meta:
        ordering = ['-created']

    def __str__(self):
        return self.title


class StudentRegistrationView(CreateView):
template_name = 'students/student/registration.html'
form_class = UserCreationForm
success_url = reverse_lazy('homepage')

def form_valid(self, form):
    result = super(StudentRegistrationView,
                   self).form_valid(form)
    cd = form.cleaned_data
    user = authenticate(username=cd['username'],
                        password=cd['password1'])
    login(self.request, user)
    return result
以下是学生应用程序中的学生视图:-

class StudentEnrollCourseView(LoginRequiredMixin, FormView):
     course = None
     form_class = CourseEnrollForm

     def form_valid(self, form):
         self.course = form.cleaned_data['course']
         self.course.students.add(self.request.user)
         my_group = Group.objects.get(name='Enrolled')
         my_group.user_set.add(self.request.user)

         return super(StudentEnrollCourseView,
                self).form_valid(form)

    def get_success_url(self):
        return reverse_lazy('student_course_detail',
                        args=[self.course.id])

class StudentCourseListView(LoginRequiredMixin, ListView):
      model = Course
      template_name = 'students/course/list.html'

      def get_queryset(self):
         qs = super(StudentCourseListView, self).get_queryset()
         return qs.filter(students__in=[self.request.user])
from django import forms
from courses.models import Course

   class CourseEnrollForm(forms.Form):
       course =forms.ModelChoiceField(queryset=Course.objects.all(),
                                widget=forms.HiddenInput)
这是学生应用程序的forms.py文件:-

class StudentEnrollCourseView(LoginRequiredMixin, FormView):
     course = None
     form_class = CourseEnrollForm

     def form_valid(self, form):
         self.course = form.cleaned_data['course']
         self.course.students.add(self.request.user)
         my_group = Group.objects.get(name='Enrolled')
         my_group.user_set.add(self.request.user)

         return super(StudentEnrollCourseView,
                self).form_valid(form)

    def get_success_url(self):
        return reverse_lazy('student_course_detail',
                        args=[self.course.id])

class StudentCourseListView(LoginRequiredMixin, ListView):
      model = Course
      template_name = 'students/course/list.html'

      def get_queryset(self):
         qs = super(StudentCourseListView, self).get_queryset()
         return qs.filter(students__in=[self.request.user])
from django import forms
from courses.models import Course

   class CourseEnrollForm(forms.Form):
       course =forms.ModelChoiceField(queryset=Course.objects.all(),
                                widget=forms.HiddenInput)