我正在使用 django-rest-framework 创建一个 Django 应用程序,并使用 djongo 连接到 MongoDB。我有这样的嵌套模型:
class Group(models.Model):
users = models.ArrayModelField(
model_container=User
)
class User(models.Model):
number = models.IntegerField(
default=None,
null=True
)
song = models.EmbeddedModelField(
model_container=Song,
null=True,
blank=True
)
class Meta:
abstract = True
class Song(models.Model):
mp3_file = models.URLField(
default=None,
blank=True,
null=True
)
comments = models.CharField(
max_length=250,
default='',
blank=True
)
class Meta:
abstract = True
Run Code Online (Sandbox Code Playgroud)
创建组后,用户和歌曲的创建没有任何问题。例如,创建后,组可能如下所示:
{
"name": "Sample",
"users: [
{
"number": null,
"song": {
"mp3_file": null,
"comments": ""
}
}
]
}
Run Code Online (Sandbox Code Playgroud)
这一切正常。但是,如果我尝试执行 PUT 请求并且不更改“number”、“mp3_file”或“comments”的值,则会收到以下错误消息:
"user": [ …Run Code Online (Sandbox Code Playgroud)