﻿id	summary	reporter	owner	description	type	status	component	version	severity	resolution	keywords	cc	stage	has_patch	needs_docs	needs_tests	needs_better_patch	easy	ui_ux
33258	inconsistent use of () and [] for attributes in Admin class - Also class variables	Martin Massera	nobody	"In Django's Admin class, most ""lists"" are initialized as tuples `()` while two of them (`inlines` and `actions`)are initialized as lists `[]`

```
list_display = ('__str__',)
list_display_links = ()
list_filter = ()
...
list_editable = ()
search_fields = ()
...
inlines = []
...
actions = []
```

This is inconsistent. 

And also there is a Since these are declared in the class, they are shared among all instances if this value is not set. 

I wanted to add an action to an admin subclass so I did `MyAdmin.actions.append('some_action')` which added this action to all my admins who had not set a new value to `actions`. While lists are more semantically correct than tuples, tuples have the advantage of being immutable, so they force users to reset the value every time.

So, two solutions:

- declare all these attributes as instance variables in the constructor. Possibly setting them all as lists
- declare all these attributes as tuples, keeping them where they are
"	Bug	new	contrib.admin	3.2	Normal		Admin		Unreviewed	0	0	0	0	0	0
