gpt4 book ai didi

python - 从序列化程序创建一个实例而不将其持久化到数据库

转载 作者:太空狗 更新时间:2023-10-29 21:12:01 27 4
gpt4 key购买 nike

creating a django model 的背景下工作:

# Creates potato and saves a row to db
spud = Potato.objects.create(...)

# Also creates a potato instance, but doesn't hit db yet.
# Could call `spud.save()` later if/when we want that.
spud = Potato(...)

factory boy我们也可以类比这个 Djangoism

# Returns a saved instance
spud = PotatoFactory.create()

# Returns an instance that's not saved
spud = PotatoFactory.build()

rest framework v3.3.2,找不到比喻。可能吗?

serializer = PotatoSerializer(data=...)

# creates the instance and saves in db
serializer.create(serializer.validated_data)

我可以自己写,像这样:

class PotatoSerializer:
...
def build(self, validated_data):
return self.Meta.model(**validated_data)

但是不把它放在基础序列化器上是一种拖累,我是不是漏掉了什么?

最佳答案

默认 Serializer 保存到数据库。但是,如果您想针对验证进行测试,只需调用 is_valid 即可,并避免保存到数据库。

我主要是猜测,因为您的问题关于您的目标不是很清楚。

关于python - 从序列化程序创建一个实例而不将其持久化到数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35004398/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com