Skip to content

Commit a9c039e

Browse files
committed
First pass at read-only pk's by default.
See ticket django#2259
1 parent d9330d5 commit a9c039e

File tree

1 file changed

+7
-0
lines changed

1 file changed

+7
-0
lines changed

django/contrib/admin/options.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -348,6 +348,7 @@ class ModelAdmin(BaseModelAdmin):
348348
save_on_top = False
349349
paginator = Paginator
350350
inlines = []
351+
readonly_fields = ('pk',)
351352

352353
# Custom templates (designed to be over-ridden in subclasses)
353354
add_form_template = None
@@ -370,6 +371,12 @@ def __init__(self, model, admin_site):
370371
self.admin_site = admin_site
371372
super(ModelAdmin, self).__init__()
372373

374+
# Translate pk to the name of the attribute
375+
if 'pk' in self.readonly_fields:
376+
self.readonly_fields = (tuple([f for f in self.readonly_fields
377+
if f is not 'pk'])
378+
+ (self.opts.pk.attname, ))
379+
373380
def get_inline_instances(self, request, obj=None):
374381
inline_instances = []
375382
for inline_class in self.inlines:

0 commit comments

Comments
 (0)