亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

為什么 django rest 序列化程序中的 random 總是返回相同的字段?

為什么 django rest 序列化程序中的 random 總是返回相同的字段?

PHP
慕姐8265434 2023-11-09 15:39:49
我有一個簡單的序列化程序class Serializer(serializers.Serializer):    name = serializers.CharField(required=False, default='someName')    id = serializers.IntegerField(required=False, default=random.randrange(100, 200))當我創建序列化程序的多個實例時,它總是返回相同的字段a = Serializer(data={})a.is_valid(data={})data = a.datadata['id'] // return  for example 150 b = Serializer(data={})b.is_valid(data={})b_data = b.datab_data['id'] // return also 150為什么會這樣?如何擺脫這個?
查看完整描述

2 回答

?
汪汪一只貓

TA貢獻1898條經驗 獲得超8個贊

你應該這樣定義你的:default

default=lambda: random.randrange(100, 200)


查看完整回答
反對 回復 2023-11-09
?
千萬里不及你

TA貢獻1784條經驗 獲得超9個贊

因為序列化程序類中的默認 id 定義一次,它等于 150。 這就像寫作

id = serializers.IntegerField(required=False, default=150)

如果您希望 id 是隨機的,則應在創建 istance 時使用。random.randrange(100, 200)


查看完整回答
反對 回復 2023-11-09
  • 2 回答
  • 0 關注
  • 192 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號