小编Kar*_*hik的帖子

子序列化程序如何从使用 Many=True 初始化的父序列化程序访问相应的字段值?

如果我们想用 初始化父序列化器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)

django django-rest-framework

5
推荐指数
1
解决办法
122
查看次数

为什么 pgAdmin 4 太慢?

postgreSQL 的 pgAdmin 4 GUI 非常慢。甚至扩展服务器树或数据库树都需要太多时间。他们每个人都花了将近 30 秒的时间来展开。它也会在创建新数据库或表时挂起。即使在加载后,创建和保存新数据库也需要一分钟多的时间。几乎每次我加载 pgAdmin 时都会发生这种情况。这个问题是我一个人遇到的还是有什么问题?

我的系统规格:PostgreSQL 12.3、Firefox 77.0、Windows 10 64 位、第 8 代四核 i5 8250u 处理器、8GB RAM 和 2GB 专用显存。

在图片中你可以看到:

  • 数据库树仍在加载。
  • 右键菜单和创建数据库窗口挂了。

在此处输入图片说明

挂在点击保存。保存新数据库花了一分钟多 在此处输入图片说明

performance pgadmin-4

4
推荐指数
1
解决办法
2746
查看次数