[英]How to make a “create-only” non-editable field in django admin
我正在尋找一些關於使用模型在 django 管理員上創建“僅創建”字段的解決方案。 我之前看到過一些問題,但沒有人能回答核心問題:當用戶在管理面板上創建時,該字段應該出現,但我不想能夠編輯。
模型.py
class Fonte(Always):
source_slug = models.CharField(max_length=255)
管理員.py
@admin.register(Fonte)
class FonteAdmin(admin.ModelAdmin):
readonly_fields = ['source_slug']
“readonly_fields”解決了以后編輯的問題,但在創建時卻被禁止了。
問題:我使用這個字段來制作 hash 並且我不想再進行這種更改了.. 我考慮過使用第二個字段來生成 hash 在創建中可編輯的一個字段之上,之后該字段將是“死的” ",但在我看來,這與 2 規范化方式相反。 有沒有更優雅的方式?
像這樣覆蓋管理員get_readonly_fields
中的 get_readonly_fields :
def get_readonly_fields(self, request, obj=None):
if obj:
return ['source_slug']
return []
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.