Добавить, если он еще не существует

Здравствуйте всем, я пытаюсь написать View Set API, который позволяет добавлять объект курса в список избранного, но перед добавлением проверять его, если пользователь уже добавил курс, не позволять ему добавлять его снова, а если пользователь не добавил, то позволить ему добавить его в список, но у меня нет идеи, как я могу сделать это с помощью View set my view


class AddtoMyCoursesView(viewsets.ModelViewSet):
    serializer_class = MyCoursesListSerializer

    def get_queryset(self, *args, **kwargs):
        pk = self.request.POST.get('pk')
        course = get_object_or_404(Courses, id=pk)
        print(course)
        course_list, _ = MyCoursesList.objects.filter(courses=course).exist()
        print(course_list)
        course_list.courses.add(course_list)

Моя модель -


class MyCoursesList(models.Model):
    user = models.ForeignKey('accounts.User', on_delete=models.CASCADE, blank=True)
    courses = models.ForeignKey(Courses, on_delete=models.CASCADE, blank=True,related_name='my_courses')
    added_date = models.DateTimeField(auto_now_add=True)
    teacher = models.ForeignKey(Teacher, on_delete=models.DO_NOTHING, default=1)

Так что же мне делать с моим кодом?

Для этого используйте Modelname.get_or_create().

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