gpt4 book ai didi

Django只读字段仅在更改时,而不是在创建时

转载 作者:行者123 更新时间:2023-12-03 12:05:41 25 4
gpt4 key购买 nike

我有一个 Team模型白衣 players ManyToManyField,我希望能够添加 Player s 在创建时分配给新团队,但在创建后无法修改。

如果我制作 players字段只读像这样:

# admin.py
class TeamAdmin(admin.ModelAdmin)
readonly_fields = ['players']

admin.site.register(Team, TeamAdmin)

我将无法将玩家添加到新 Team .
我该如何制作 players字段“创建后只读”或类似的东西?

最佳答案

您需要覆盖 get_readonly_fields() 管理类的方法。

# admin.py
class TeamAdmin(admin.ModelAdmin)
...

def get_readonly_fields(self, request, obj=None):
if obj: #This is the case when obj is already created i.e. it's an edit
return ['players']
else:
return []

关于Django只读字段仅在更改时,而不是在创建时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17613559/

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