首页 > 解决方案 > 如何在 Django 中有一个只能超级编辑的字段?

问题描述

注意 我知道这个问题之前已经被问过,但我只使用了这个建议,但没有给我想要的结果

我的模型

class QuestionModel(models.Model):
    question = models.TextField()
    mentor = models.ForeignKey(Mentor, on_delete=models.CASCADE, null=True, blank=True)
    answer = models.TextField(default="", blank=True)

我的管理员.py

class QuestionAdmin(admin.ModelAdmin):
   def get_readonly_fields(self, request):
    fields = super().get_readonly_fields(request)
    if not request.user.is_superuser:
        fields.append('answer')
    return fields
admin.site.register(QuestionModel, QuestionAdmin)

我试图让这个答案字段只有超级用户可编辑,这就是我的做法,但普通用户也可以更新它,但一个简单的放置请求,所以如何防止该用户更新

标签: django

解决方案


推荐阅读