django rest framework
各位好,我在model中设置了时间为`auto_created=True',如下代码:
class Common(models.Model): create_time = models.DateTimeField(auto_created=True) update_time = models.DateTimeField(auto_now_add=True) disable = models.IntegerField(default=0) class Meta: abstract=True
video继承自Common,代码如下:
class Video(common.Common): crawler_config = models.ForeignKey(crawler_config.CrawlerConfig, on_delete=models.CASCADE) # 视频标题 video_title = models.CharField("视频标题",max_length=500) # 视频预览图片存放地址 video_preview_url = models.CharField("视频预览图片存放地址",max_length=500) # 视频点击数 video_hits = models.CharField("视频点击数",max_length=50) # 视频长度 video_length = models.CharField("视频长度",max_length=50) # 视频原始Id video_original_id = models.CharField("视频原始Id",max_length=10) # 视频原始URL video_original_url = models.CharField("视频原始URL",max_length=500) # 视频现存地址 video_new_url = models.CharField("视频现存地址",max_length=500) # 视频网站URL video_site_url = models.CharField("视频网站URL",max_length=500) # 视频是否已被下载 video_active = models.IntegerField(default=0) # 视频原始地址是否有效 video_original_url_disable = models.IntegerField(default=0) def __str__(self): return self.video_title
serializers 如下:
class VideoSerializer(serializers.ModelSerializer): class Meta: model = video.Video fields = "__all__"
views如下:
class VideoViewSet(viewsets.ModelViewSet): """ retrieve: 返回指定视频信息 list: 返回视频集合 create: 创建一个新的视频 delete: 移除一个已经存在的视频 partial_update: 更新视频信息的一个或多个字段 update: 更新视频信息 """ queryset = video.Video.objects.all() serializer_class = video_serializer.VideoSerializer
urls如下:
router = routers.DefaultRouter() router.register(r'videos', views.VideoViewSet) router.register(r'crawlerconfigs', views.CrawlerConfigViewSet) router.include_format_suffixes = False urlpatterns = format_suffix_patterns([ url(r'^docs/', schema_view, name="docs"), path('', include(router.urls)) ])
当我尝试调用post方法创建一个新的video的时候,提示我必须传递create_time参数:
请求数据结构如下:
{ "create_time": "string", "disable": 0, "video_title": "string", "video_preview_url": "string", "video_hits": "string", "video_length": "string", "video_original_id": "string", "video_original_url": "string", "video_new_url": "string", "video_site_url": "string", "video_active": 0, "video_original_url_disable": 0, "crawler_config": 0 }
但是我明明在model中指定了时间在创建该字段或者更新该字段的时候自动插入,我该怎么才能在post创建的时候不设置该字段?
谢谢各位!
评论 0