Как сбросить поле 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), ])