Django Restful Framework (二): ModelSerializer


    時常,你需要對django model 的實例進行序列化。ModelSerializer 類提供了一個捷徑讓你可以根據 Model 來創建 Serializer。

ModelSerializer 類和 Serializer 類一樣,不過添加了以下功能:

  • 它會基於 model 自動創建一些字段
  • 它會自動生成一些驗證,比如 unique_together 驗證。
  • 它包含簡單的默認的 create() 和 update()

聲明一個 ModelSerializer 看起來是這樣:

class AccountSerializer(serializers.ModelSerializer):
    class Meta:
        model = Account
        fields = ('id', 'account_name', 'users', 'created')

自定義字段

class AccountSerializer(serializers.ModelSerializer):
name_1 = SerializerMethodField()
name_2 = CharField(source="account_name") # source 可接字段或方法 class Meta: model = Account fields = ('id', 'account_name', 'users', 'created','name') # fields = "__all__" # exclude = ("users",)
# read_only_fields = ('account_name',)
# extra_kwargs = {'account_name': {'read_only': True}}
def get_name_1(self,obj):
return obj.name

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM