emc*_*cee 32 django django-models django-admin
看起来Django隐藏了在Django管理界面中显示/编辑标记主键的字段.
假设我想输入我可能想要或不想指定主键的数据.我如何在管理界面中显示主键,如何指定它是可选的?
the*_*mel 36
我还想在Django管理员中简单地显示'id'(主键),但不一定要编辑它.我刚把它添加到readonly_fields
列表中,它显示正常.IE:
class StudentEnrollmentInline(admin.TabularInline):
model = Enrollment
readonly_fields=('id',)
Run Code Online (Sandbox Code Playgroud)
而如果我试图将它添加到'fields'列表中,Django对我很生气,说该字段不存在...
Hae*_*aes 12
如果在模型中明确指定主键字段(with primary_key=True
),则应该能够在管理员中对其进行编辑.
对于Django,通过./manage.py syncdb
以下主键字段创建的模型会自动添加:
id = models.AutoField(primary_key=True)
Run Code Online (Sandbox Code Playgroud)
如果您将模型明确地更改(或添加)为IntegerField主键,您将能够使用admin直接编辑它:
id = models.IntegerField(primary_key=True)
Run Code Online (Sandbox Code Playgroud)
但正如其他人指出的那样,这是一个潜在的雷区......
拥有可选的主键是没有意义的。PK 要么是自动增量,在这种情况下无需编辑它,要么是手动指定的,在这种情况下始终需要它。
为什么需要这个?
归档时间: |
|
查看次数: |
16980 次 |
最近记录: |