如果我们想用 初始化父序列化器many=True,那么子序列化器如何从其父序列化器访问相应的字段值?
class ChildSerializer(serializers.Serializer):
field1 = serializers.CharField()
def validate(self, data):
# How to get the value of batch_key from the parent serializer (here self.batch_key)?
if not self.batch_key == data['field1']:
raise serializers.ValidationError('invalid field1')
return data
class ParentSerializer(serializers.Serializer):
child = ChildSerializer(many=True)
batch_key = serializers.CharField()
class MyAPIView(APIView):
def post(self, request):
serializer = ParentSerializer(data=request.data, many=True)
serializer.is_valid(raise_exception=True)
return
Run Code Online (Sandbox Code Playgroud)
请求数据如下:
[
{
"batch_key":"batch_key_value_1",
"child":[
{
"field1":"value1"
},
{
"field1":"value2"
},
{
"field1":"value3"
}
]
},
{
"batch_key":"batch_key_value_2",
"child":[
{
"field1":"value4"
},
{
"field1":"value5"
}, …Run Code Online (Sandbox Code Playgroud) postgreSQL 的 pgAdmin 4 GUI 非常慢。甚至扩展服务器树或数据库树都需要太多时间。他们每个人都花了将近 30 秒的时间来展开。它也会在创建新数据库或表时挂起。即使在加载后,创建和保存新数据库也需要一分钟多的时间。几乎每次我加载 pgAdmin 时都会发生这种情况。这个问题是我一个人遇到的还是有什么问题?
我的系统规格:PostgreSQL 12.3、Firefox 77.0、Windows 10 64 位、第 8 代四核 i5 8250u 处理器、8GB RAM 和 2GB 专用显存。
在图片中你可以看到: