作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有许多与Person
模型具有ForeignKey关系的模型。例如:
class PersonData(BaseModel):
person = models.ForeignKey(Person)
data = models.TextField()
PersonData
对象,管理员用户就可以更改数据,但不能更改
Person
。
PersonDataAdmin
类中:
def get_readonly_fields(self, request, obj=None):
if obj:
return self.readonly_fields + ('person',)
return self.readonly_fields
person
的值,但是它变灰了,所以我不能更改它-但是当我尝试更改数据并提交表单时,我收到一条错误消息,“请更正以下错误。”没有其他消息出现,但是经过一点挖掘,我发现表单缺少必需的
person
字段的值。
exclude
,但遇到了与
read_only
相同的问题。
最佳答案
我通常要做的是将模型中的字段设置为editable=False
,然后在admin.py中将字段设置为只读,如下所示:
class PersonData(BaseModel):
person = models.ForeignKey(Person, editable=False)
data = models.TextField()
class PersonDataAdmin(admin.ModelAdmin):
readonly_fields=('person',)
关于django - Django管理员: Making a required field read-only,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48067882/
我是一名优秀的程序员,十分优秀!