python - Django Rest Framework 需要非空查找字段
问题描述
我有两个模型:
class Album(models.Model):
code = models.CharField(max_length=10, primary_key=True, default=_create_access_code, verbose_name=_("Id"))
name = models.CharField(max_length=200, verbose_name=_("Name"))
description = models.TextField(null=True, blank=True, verbose_name=_("Description"))
company = models.ForeignKey(Company, on_delete=models.PROTECT, related_name='albums', verbose_name=_("Company"))
access_code = models.CharField(max_length=10, default=_create_access_code, verbose_name=_("Internal Use"))
class Meta:
verbose_name = _("Album")
verbose_name_plural = _("Albums")
def __str__(self):
return "[{}] {} ({})".format(self.pk, self.name, self.company.id)
class Photo(models.Model):
name = models.CharField(max_length=100, null=True, blank=True, verbose_name=_("Name"))
album = models.ForeignKey(Album, on_delete=models.CASCADE, related_name='photos', verbose_name=_("Album"))
photo = models.ImageField(verbose_name=_("Photo"))
class Meta:
verbose_name = _("Photo")
verbose_name_plural =_("Photos")
def __str__(self):
return "[{}] {}".format(self.pk, self.name)
我正在尝试为 model向ModelViewSetAlbums
发布帖子,但我收到一条错误消息,表明该字段photos
是必需的。甚至该OPTIONS
方法也表明它是必需的。
我如何指示DRF不按要求考虑查找字段?它是一些序列化程序设置吗?
解决方案
您可以将 required=False 添加到序列化程序中的字段。
photos = PhotoSerializer(many=True, required=False)
像这样的东西。你可以发布你的序列化程序吗?
推荐阅读
- node.js - Nodejs- Math.random() 足够了,还是替代的?
- javascript - 反应流程图:在画布中放置一个填充
- python - 为什么我运行 python 代码后数据库中的值会被删除?
- reactjs - 如果用户使用 react-native-otp-input 输入不正确的 otp,如何重置输入的 otp
- c++ - 概念可能会取代 C++ 中的类型特征吗?
- windows - 参数未传递给简单的 powershell 函数
- c# - Identityserver4 和组管理
- reactjs - 如何检查文件大小的大小和尺寸反应原生?
- python - 在熊猫数据框中取两个值的平均值
- java - 带有 FFmpeg 和 JavaFx 的 JavaCV 视频播放器