gpt4 book ai didi

django - 在 Django REST Framework 3 中,一个 ModelSerializer 可以有不同的字段集用于创建和更新吗?

转载 作者:行者123 更新时间:2023-12-01 20:17:04 25 4
gpt4 key购买 nike

我有一个 DRF 3.3+ API 来创建/更新/检索用户。我用的 super 方便write_only我的 password 字段上的序列化程序字段参数,以便它用于创建/更新用户,但在序列化用户时不会返回。但是,我希望创建用户时需要密码,但更新用户时可以选择密码。最好使用像 create_onlyupdate_only 这样的东西来进行更细粒度的控制,而不是 write_only。由于这是不可用的,我有两个完全相同的序列化器,除了 password 字段,它看起来不干净。

我知道 DRF 2 的答案:Disable field update after object is created ,但我希望在 DRF 3.3+ 中有更好的方法来处理这个用例。预先感谢您的任何见解。

最佳答案

没有类似 create_onlyupdate_only 的选项。

可以重写__init__来查看instance参数是否已传递,并相应地调整fields

我有两个序列化器,就像你一样。为了不重复太多,我有一个子类,另一个子类,子类仅调整不同的字段

关于django - 在 Django REST Framework 3 中,一个 ModelSerializer 可以有不同的字段集用于创建和更新吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35543256/

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