根据 Django REST Framework docs,传递default=CreateOnlyDefault(<arg>)
给序列化器字段
可用于仅在创建操作期间设置默认参数。在更新期间,该字段被省略。
它接受一个参数,这是在创建操作期间应该使用的默认值或可调用的。
这与声明您将传递给的单个参数read_only=True, default=<arg>
在哪里<arg>
有CreateOnlyDefault
什么不同?
当CreateOnlyDefault
使用时,该值将只在创作上不更新中使用。
例如:
class MySerializer:
created = serializers.DateTimeField(
read_only=True,
default=serializers.CreateOnlyDefault(timezone.now)
)
modified = serializers.DateTimeField(
read_only=True,
default=timezone.now
)
使用该序列化程序,modified
字段将在每次更新时更新,而created
字段从创建时将保持不变。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句