亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何使用 StackedInline 類使現有模型對象只讀但也能夠創建新模型對象?

如何使用 StackedInline 類使現有模型對象只讀但也能夠創建新模型對象?

慕尼黑5688855 2022-01-18 17:33:04
我有兩個名為“消息”和“票證”的模型。消息有一個外鍵到工單。我使用 StackedInline 在 django admin 中顯示了票證消息。但問題是我希望已經創建的消息是只讀的,同時也能夠創建新消息。我也檢查了一堆問題;像這樣或這樣。但沒有一個是有幫助的!或者至少,我無法得到線索!這是我的代碼:模型.py:class Ticket(models.Model):    title = models.CharField(max_length=128)    #...class Message(models.Model):    text = models.TextField()    ticket = models.ForeignKey(Ticket, on_delete=models.CASCADE)    attachment = models.FileField(upload_to=some_url_pattern)    sender = models.CharField(max_length=2, editable=False)管理員.py:class MessageInline(admin.StackedInline):    model = Message    extra = 1    def get_readonly_fields(self, request, obj=None):        if obj:            return ['text', 'attachment']        else:            return []@admin.register(Ticket)class ResponderAdmin(admin.ModelAdmin):    fields = ['title']    inlines = [MessageInline]可以看出,我試圖通過覆蓋來實現目標,get_readonly_fields但這就是發生的事情: 管理頁面的截圖從圖片中可以看出,每條消息內聯都已設為只讀,我無法添加新消息......誰能幫我解決這個問題?
查看完整描述

1 回答

?
慕后森

TA貢獻1802條經驗 獲得超5個贊

我假設這是給管理員的。

刪除用戶的超級用戶訪問權限,但保留他們的員工訪問權限。然后使用權限來授予他們Add和訪問特定模型的權限,但不要授予他們UpdateDelete訪問權限。這應該使他們能夠查看數據而無法更改或刪除它。


查看完整回答
反對 回復 2022-01-18
  • 1 回答
  • 0 關注
  • 249 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號