python中的attrs是什么?
大家讲道理
大家讲道理 2017-04-17 13:43:30
0
2
1454
from rest_framework import serializers

class CommentSerializer(serializers.Serializer):
    email = serializers.EmailField()
    content = serializers.CharField(max_length=200)
    created = serializers.DateTimeField()

    def restore_object(self, attrs, instance=None):
        """
        Given a dictionary of deserialized field values, either update
        an existing model instance, or create a new model instance.
        """
        if instance is not None:
            instance.email = attrs.get('email', instance.email)
            instance.content = attrs.get('content', instance.content)
            instance.created = attrs.get('created', instance.created)
            return instance
        return Comment(**attrs)

比如,这其中的attrs是?

大家讲道理
大家讲道理

光阴似箭催人老,日月如移越少年。

全部回覆(2)
迷茫

這是python的參數列表,兩個星號是可變參數。
restore_object接收到的attrs參數是dict型,傳遞到Comment函數的時候前面加上兩個星號轉成可變參數清單。

attrs = {'a':1, 'b':2}

Comment函數實際的呼叫會變成:

Comment(a=1, b=2)

參考:http://n3xtchen.github.io/n3xtchen/python/2014/08/08/python---args-and-kwargs/

阿神

attr 是函數的參數 具體是啥要看你自己的定義了

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板