这应该是一个非常简单的事情,但它不能正常工作.
模型
class Lesson(models.Model):
lesson_name = models.CharField(max_length=150, primary_key=True)
json_name = models.CharField(max_length=150, default="", null=True)
activity_type = models.CharField(max_length=20)
learning_language = models.CharField(max_length=50)
known_language = models.CharField(max_length=50)
Run Code Online (Sandbox Code Playgroud)
管理
from .models import Lesson
class LessonAdmin(admin.ModelAdmin):
fields = ['lesson_name']
readonly_fields = ['json_name', 'activity_type', 'learning_language', 'known_language']
admin.site.register(Lesson, LessonAdmin)
Run Code Online (Sandbox Code Playgroud)
但是,当我登录管理站点时,指定的字段readonly_fields
根本不显示.我也尝试将字段名称包含在元组而不是列表中(如文档所指定),但这甚至给我一个错误.
实际显示的字段只设置list_display
,fields
和fieldsets
.readonly_fields
只是告诉管理员它将显示的那些,显示为只读.所以只需将相同的字段添加到fields
列表中.这是重复,这很烦人,但更明确.
class LessonAdmin(admin.ModelAdmin):
fields = ['lesson_name', 'json_name', 'activity_type', 'learning_language', 'known_language']
readonly_fields = ['json_name', 'activity_type', 'learning_language', 'known_language']
Run Code Online (Sandbox Code Playgroud)
如果你使用元组或列表并不重要,django管理员同时接受这两个.
归档时间: |
|
查看次数: |
351 次 |
最近记录: |