【发布时间】:2022-11-23 09:51:30
【问题描述】:
我有个问题。
堆栈:Django-Rest-Framework + Djongo + Mongodb。
问题:插入错误数组数据
//models.py
from django.db import models
from djongo import models as djongoModels
class House(models.Model):
house_id = models.CharField(max_length=256)
class Meta:
abstract = True
class Users(models.Model):
_id = djongoModels.ObjectIdField()
email = djongoModels.CharField(max_length=256)
name = djongoModels.CharField(max_length=256)
house = djongoModels.ArrayField(
model_container=House
)
class Meta:
db_table = "drf_users"
//serializers.py
from .models import Users, Houses
from rest_framework import serializers
class InsertUserSerializers(serializers.ModelSerializer):
email = serializers.CharField(required=True)
name = serializers.CharField(required=True)
house = serializers.ListField(child=serializers.CharField())
class Meta:
model = Users
fields = ('email', 'name', 'house')
//views.py
from .models import Users
from .serializers import InsertUserSerializers
class UsersViewSet(viewsets.ModelViewSet):
queryset = Users.objects.all()
serializer_class = InsertUserSerializers
permission_classes = [AllowAny]
//request.http
POST http://<domain>/drf/house/ HTTP/1.1
Content-Type: application/json
{
"email": "test6@stay.co.kr",
"name": "test6",
"house": ["SEOU-2023-1023-0002","GYOU-2023-1022-0001"]
}
//pip freeze
asgiref==3.5.2
backports.zoneinfo==0.2.1
certifi==2022.9.24
cffi==1.15.1
charset-normalizer==2.1.1
cryptography==38.0.1
Deprecated==1.2.13
Django==4.1
django-cors-headers==3.13.0
django-filter==22.1
django-oauth-toolkit==2.1.0
django-rest-framework==0.1.0
django-rest-framework-mongoengine==3.4.1
djangorestframework==3.13.1
djongo==1.3.6
dnspython==2.2.1
idna==3.4
jwcrypto==1.4.2
mongoengine==0.24.2
oauthlib==3.2.1
Pillow==9.2.0
pycparser==2.21
pymongo==3.12.3
pytz==2022.2.1
requests==2.28.1
sqlparse==0.2.4
urllib3==1.26.12
wrapt==1.14.1
我想要一个最终的数据库值。 enter image description here
这是序列化程序的问题吗?或者 Djongo 问题。
如果删除序列化程序房屋数组字段,则不会出错。
我的源代码有什么问题。请帮我。
【问题讨论】:
-
请阐明您的具体问题或提供更多详细信息以准确突出您的需求。正如目前所写的那样,很难准确地说出你在问什么。
标签: python django mongodb django-rest-framework djongo