Changeset 3307
- Timestamp:
- 07/09/06 23:16:26 (2 years ago)
- Files:
-
- django/trunk/AUTHORS (modified) (1 diff)
- django/trunk/django/contrib/admin/templatetags/admin_list.py (modified) (1 diff)
- django/trunk/django/core/management.py (modified) (1 diff)
- django/trunk/django/db/models/options.py (modified) (2 diffs)
- django/trunk/docs/model-api.txt (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
django/trunk/AUTHORS
r3285 r3307 73 73 Russell Keith-Magee <freakboy@iinet.net.au> 74 74 Garth Kidd <http://www.deadlybloodyserious.com/> 75 kilian <kilian.cavalotti@lip6.fr> 75 76 Sune Kirkeby <http://ibofobi.dk/> 76 77 Cameron Knight (ckknight) django/trunk/django/contrib/admin/templatetags/admin_list.py
r3124 r3307 166 166 if result_repr == '': 167 167 result_repr = ' ' 168 if first: # First column is a special case 168 # If list_display_links not defined, add the link tag to the first field 169 if (first and not cl.lookup_opts.admin.list_display_links) or field_name in cl.lookup_opts.admin.list_display_links: 169 170 first = False 170 171 url = cl.url_for_result(result) django/trunk/django/core/management.py
r3276 r3307 937 937 if isinstance(f, models.ManyToManyField): 938 938 e.add(opts, '"admin.list_display" doesn\'t support ManyToManyFields (%r).' % fn) 939 # list_display_links 940 if opts.admin.list_display_links and not opts.admin.list_display: 941 e.add(opts, '"admin.list_display" must be defined for "admin.list_display_links" to be used.') 942 if not isinstance(opts.admin.list_display_links, (list, tuple)): 943 e.add(opts, '"admin.list_display_links", if given, must be set to a list or tuple.') 944 else: 945 for fn in opts.admin.list_display_links: 946 try: 947 f = opts.get_field(fn) 948 except models.FieldDoesNotExist: 949 e.add(opts, '"admin.list_filter" refers to %r, which isn\'t a field.' % fn) 950 if fn not in opts.admin.list_display: 951 e.add(opts, '"admin.list_display_links" refers to %r, which is not defined in "admin.list_display".' % fn) 939 952 # list_filter 940 953 if not isinstance(opts.admin.list_filter, (list, tuple)): django/trunk/django/db/models/options.py
r3201 r3307 200 200 201 201 class AdminOptions(object): 202 def __init__(self, fields=None, js=None, list_display=None, list_ filter=None,202 def __init__(self, fields=None, js=None, list_display=None, list_display_links=None, list_filter=None, 203 203 date_hierarchy=None, save_as=False, ordering=None, search_fields=None, 204 204 save_on_top=False, list_select_related=False, manager=None, list_per_page=100): … … 206 206 self.js = js or [] 207 207 self.list_display = list_display or ['__str__'] 208 self.list_display_links = list_display_links or [] 208 209 self.list_filter = list_filter or [] 209 210 self.date_hierarchy = date_hierarchy django/trunk/docs/model-api.txt
r3189 r3307 1225 1225 return self.birthday.strftime('%Y')[:3] + "0's" 1226 1226 decade_born_in.short_description = 'Birth decade' 1227 1228 ``list_display_links`` 1229 ---------------------- 1230 1231 Set ``list_display_links`` to control which fields in ``list_display`` should 1232 be linked to the "change" page for an object. 1233 1234 By default, the change list page will link the first column -- the first field 1235 specified in ``list_display`` -- to the change page for each item. But 1236 ``list_display_links`` lets you change which columns are linked. Set 1237 ``list_display_links`` to a list or tuple of field names (in the same format as 1238 ``list_display``) to link. 1239 1240 ``list_display_links`` can specify one or many field names. As long as the 1241 field names appear in ``list_display``, Django doesn't care how many (or how 1242 few) fields are linked. The only requirement is: If you want to use 1243 ``list_display_links``, you must define ``list_display``. 1244 1245 In this example, the ``first_name`` and ``last_name`` fields will be linked on 1246 the change list page:: 1247 1248 class Admin: 1249 list_display = ('first_name', 'last_name', 'birthday') 1250 list_display_links = ('first_name', 'last_name') 1251 1252 Finally, note that in order to use ``list_display_links``, you must define 1253 ``list_display``, too. 1227 1254 1228 1255 ``list_filter``
