from rest_framework import serializers
from meituan.models import merchant,
class merchantserializer(serializers.modelserializer):
class meta:
model = merchant
# 要展示的字段列表,為「__all__」時則全部展示
fields = "__all__"
# 定義不展示哪些字段
# exclude = ['name']
class merchant(models.model):
"""商家
"""name = models.charfield(max_length=200,verbose_name='商家名稱',null=false)
address = models.charfield(max_length=200,verbose_name='商家',null=false)
logo = models.charfield(max_length=200,verbose_name='商家logo',null=false)
notice = models.charfield(max_length=200, verbose_name='商家的公告',null=true,blank=true)
up_send = models.decimalfield(verbose_name='起送價',default=0,max_digits=6,decimal_places=2)
lon = models.floatfield(verbose_name='經度')
lat = models.floatfield(verbose_name='緯度')
created = models.foreignkey(user,on_delete=models.set_null,null=true)
class goodscategory(models.model):
"""商家商品分類
"""name = models.charfield(max_length=20,verbose_name='分類名稱')
merchant = models.foreignkey(merchant,on_delete=models.cascade,verbose_name='所屬商家',related_name='categories')
from rest_framework import serializers
from meituan.models import merchant,goodscategory,goods
class merchantserializer(serializers.modelserializer):
class meta:
model = merchant
# 要展示的字段列表,為「__all__」時則全部展示
fields = "__all__"
# 定義不展示哪些字段
# exclude = ['name']
class goodsserializer(serializers.modelserializer):
class meta:
model = goods
fields = "__all__"
class goodscategoryserializer(serializers.modelserializer):
merchant = merchantserializer(read_only=true)
merchant_id = serializers.integerfield(write_only=true)
goods_list = goodsserializer(many=true,read_only=true)
class meta:
model = goodscategory
fields = "__all__"
def validate_merchant_id(self,value):
if not merchant.objects.filter(pk=value).exists():
raise serializers.validationerror("商家不存在!")
return value
def create(self,validated_data):
merchant_id = validated_data.get('merchant_id')
merchant = merchant.objects.get(pk=merchant_id)
category = goodscategory.objects.create(**validated_data,merchant=merchant)
return category
序列化(序列化)
原書上翻譯為序列化,msdn翻譯為序列化 作用 當需要儲存,或者網路傳輸 remoting時,資料 物件或值 需要序列化 類似於打包傳輸檔案。system.serializableattribute 序列化是指儲存和獲取磁碟檔案 記憶體或其他地方中的物件。在序列化時,所有的例項資料都儲存到儲存介質上...
序列化和解序列化
serialize 返回乙個字串,包含著可以儲存於 php 的任何值的位元組流表示。unserialize 可以用此字串來重建原始的變數值。用序列化來儲存物件可以儲存物件中的所有變數。物件中的函式不會被儲存,只有類的名稱。要能夠unserialize 乙個物件,需要定義該物件的類。也就是,如果序列化...
序列化反序列化
只要用到網路開發啊,就一定會用到序列化反序列化。1,自定義結構體 struct test int len int type char data 10 test data test buffer.缺點 明文,只支援基本型別,不支援變長結構 2,在1的基礎上,自定義乙個緩衝類,存放乙個訊息。把訊息寫入緩...