ors*_*iro 1 django django-models django-admin
我models.py的班级如下:
class TodoList(models.Model):
id = models.AutoField(primary_key=True)
def __unicode__(self):
return self.id
Run Code Online (Sandbox Code Playgroud)
admin.py 包含以下几行:
from django.contrib import admin
from todolist.models import TodoList
class TodoListAdmin(admin.ModelAdmin):
readonly_fields = ('id',)
admin.site.register(TodoList, TodoListAdmin)
Run Code Online (Sandbox Code Playgroud)
但是,在Django 1.5.1管理员中,id不会显示为只读。相反,我只是被展示(None)。如何自动id将我创建的对象的显示为只读?

Generally It does not have an ID until you save it.
请遵循以下代码,它一定会帮助您克服None(显示的数据)。
models.py
class A(models.Model):
a = models.AutoField(primary_key=True)
def __str__(self):
return str(self.a)
Run Code Online (Sandbox Code Playgroud)
管理员
class AAdmin(admin.ModelAdmin):
list_display = ['a']
readonly_fields = ['a_display']
def a_display(self, obj):
if obj.a is None:
a = A.objects.all().order_by('-a')[:1]
if a:
return a[0].a + 1
else:
return 0
else:
return obj.a
admin.site.register(A, AAdmin)
Run Code Online (Sandbox Code Playgroud)
请检查上面的代码。如果有任何问题,请发表评论。
| 归档时间: |
|
| 查看次数: |
849 次 |
| 最近记录: |