首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >与djongo EmbeddedFields的问题

与djongo EmbeddedFields的问题
EN

Stack Overflow用户
提问于 2022-04-16 19:28:12
回答 1查看 171关注 0票数 0

我正在与Django和MongoDB一起使用Djongo,但是在尝试实现嵌入式字段时,我遇到了以下问题

代码语言:javascript
复制
ValueError: Value: [OrderedDict([('userID', 1), ('username', 'o'), ('admin', False)])] must be an instance of <class 'dict'>

这些都是有关的模式:

代码语言:javascript
复制
from djongo import models

class groupMembership(models.Model):
    membershipID = models.ObjectIdField()
    userID = models.IntegerField()
    username = models.CharField(max_length=50)
    admin = models.BooleanField(default=False)
    

class group(models.Model):
    groupID = models.ObjectIdField()
    title = models.CharField(max_length=100)
    createdDate = models.DateField()
    members = models.EmbeddedField(model_container = groupMembership, null = True)

下面是我使用的序列化器:

代码语言:javascript
复制
class groupMembershipSerializer(serializers.ModelSerializer):
    class Meta:
        model=groupMembership
        fields=('membershipID', 'userID', 'username', 'admin')

class groupSerializer(serializers.ModelSerializer):
    members = groupMembershipSerializer(many = True)
    class Meta:
        model=group 
        fields=('groupID','title','createdDate','members')

当我试图发送以下POST请求时,会引发错误:

代码语言:javascript
复制
{
"title" : "l",
"createdDate" : "2021-07-07",
    "members" : 
        [{
        "userID" : "1",
        "username": "o",
        "admin" : "False"
        }
        ]

}

任何帮助都是非常感谢的!

EN

回答 1

Stack Overflow用户

发布于 2022-06-07 03:41:09

错误消息表明您试图使用list对象而不是dict发布,您能尝试:

代码语言:javascript
复制
{
    "title" : "l",
    "createdDate" : "2021-07-07",
        "members" : 
        {
            "userID" : "1",
            "username": "o",
            "admin" : "False"
        }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71896877

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档