Как сбросить поле datetimefield в django [закрыто]

Я сомневаюсь в поле DateTime, в моей модели "курса" есть поле "publish_date" и если курс опубликован, то "course.publish_date = datetime.datetime.now ()". Также есть вероятность, что опубликованный курс не будет опубликован, поэтому я должен иметь возможность изменить его на publish_date = null, Но он делает ошибки, дайте мне решение, чтобы исправить это.

views.py

class PublishCourseViewSet(ResponseViewMixin, viewsets.GenericViewSet):
    def put(self, request, course_id=None, *args, **kwargs):
        try:
            course = get_object_or_404(Course, pk=course_id)
            course_status = course.review_status
            if course_status == 'review_passed':
                course.review_status = 'published'
                course.publish_date = datetime.datetime.now()
                course.save(update_fields=["review_status", "publish_date"])
                serializer = CourseListSerializer(course)
                return self.jp_response(s_code='HTTP_200_OK', data=serializer.data)
            else:
                return self.jp_error_response('HTTP_400_BAD_REQUEST', {"detail": "course not yet ready for publishing"})
        except Exception as e:
            return self.jp_error_response('HTTP_500_INTERNAL_SERVER_ERROR', 'EXCEPTION', [str(e), ])


class UnPublishCourseViewSet(ResponseViewMixin, viewsets.GenericViewSet):
    def put(self, request, course_id=None, *args, **kwargs):
        try:
            course = get_object_or_404(Course, pk=course_id)
            course_status = course.review_status
            if course_status == 'published':
                course.review_status = 'review_passed'
                course.publish_date = null
                course.save(update_fields=["review_status", "publish_date"])
                serializer = CourseListSerializer(course)
                return self.jp_response(s_code='HTTP_200_OK', data=serializer.data)
            else:
                return self.jp_error_response('HTTP_400_BAD_REQUEST', {"detail": "course not yet ready for publishing"})
        except Exception as e:
            return self.jp_error_response('HTTP_500_INTERNAL_SERVER_ERROR', 'EXCEPTION', [str(e), ])

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