I'm trying to customize my admin panel making some of checkboxes grouped but I'm having trouble with fieldsets. If anyone could help me with it. Thanks in advance.
admin.py
from django.contrib import admin
from django.forms.models import fields_for_model
from dashboard.models import socio, pagamento, treino
class TreinoAdmin(admin.ModelAdmin):
# fieldsets = (
# (None, {'fields': ['socio']}),
# ('Armamento', {'fields': ['arma', 'municao']}),
# ('Alvos', {
# 'fields': (
# 'Galinhas', ['galinha1','galinha2','galinha3','galinha4','galinha5','galinha6','galinha7','galinha8','galinha9','galinha10',],
# 'Porcos', ['porco1','porco2','porco3','porco4','porco5','porco6','porco7','porco8','porco9','porco10',],
# 'Perus', ['peru1','peru2','peru3','peru4','peru5','peru6','peru7','peru8','peru9','peru10',],
# 'Carneiros', ['carneiro1','carneiro2','carneiro3','carneiro4','carneiro5','carneiro6','carneiro7','carneiro8','carneiro9','carneiro10',]
# ),
# }),
# )
#readonly_fields = ("Galinhas", "Porcos","Perus","Carneiros",)
def __init__(self, *args, **kwargs):
super(TreinoAdmin, self).__init__(*args, **kwargs)
todos = set(fields_for_model(models.treino))
galinhas = ['galinha1','galinha2','galinha3','galinha4','galinha5','galinha6','galinha7','galinha8','galinha9','galinha10',]
porcos = ['porco1','porco2','porco3','porco4','porco5','porco6','porco7','porco8','porco9','porco10',]
perus = ['peru1','peru2','peru3','peru4','peru5','peru6','peru7','peru8','peru9','peru10',]
carneiros = ['carneiro1','carneiro2','carneiro3','carneiro4','carneiro5','carneiro6','carneiro7','carneiro8','carneiro9','carneiro10',]
alvos = set(galinhas) | set(porcos) | set(perus) | set(carneiros)
resto = list(todos - alvos)
self.fieldsets = (
(None, {
'fields': todos
}),
('Galinhas', {
'classes', ['collapse',],
'fields': galinhas
}),
('Porcos', {
'classes', ['collapse',],
'fields': porcos
}),
('Perus', {
'classes', ['collapse',],
'fields': perus
}),
('Carneiros', {
'classes', ['collapse',],
'fields': carneiros
}),
)
models = models.treino
admin.site.register(socio)
admin.site.register(pagamento)
admin.site.register(models.treino, TreinoAdmin)
models.py
class treino(models.Model):
# /// treinos do sócio
socio = models.ForeignKey(socio)
arma = models.CharField(max_length=30)
municao = models.CharField(max_length=40)
# // alvos
galinha1 = models.BooleanField('Galinha #1')
galinha2 = models.BooleanField('Galinha #2')
galinha3 = models.BooleanField('Galinha #3')
galinha4 = models.BooleanField('Galinha #4')
galinha5 = models.BooleanField('Galinha #5')
galinha6 = models.BooleanField('Galinha #6')
galinha7 = models.BooleanField('Galinha #7')
galinha8 = models.BooleanField('Galinha #8')
galinha9 = models.BooleanField('Galinha #9')
galinha10 = models.BooleanField('Galinha #10')
porco1 = models.BooleanField('Porco #1')
porco2 = models.BooleanField('Porco #2')
porco3 = models.BooleanField('Porco #3')
porco4 = models.BooleanField('Porco #4')
porco5 = models.BooleanField('Porco #5')
porco6 = models.BooleanField('Porco #6')
porco7 = models.BooleanField('Porco #7')
porco8 = models.BooleanField('Porco #8')
porco9 = models.BooleanField('Porco #9')
porco10 = models.BooleanField('Porco #10')
peru1 = models.BooleanField('Peru #1')
peru2 = models.BooleanField('Peru #2')
peru3 = models.BooleanField('Peru #3')
peru4 = models.BooleanField('Peru #4')
peru5 = models.BooleanField('Peru #5')
peru6 = models.BooleanField('Peru #6')
peru7 = models.BooleanField('Peru #7')
peru8 = models.BooleanField('Peru #8')
peru9 = models.BooleanField('Peru #9')
peru10 = models.BooleanField('Peru #10')
carneiro1 = models.BooleanField('Carneiro #1')
carneiro2 = models.BooleanField('Carneiro #2')
carneiro3 = models.BooleanField('Carneiro #3')
carneiro4 = models.BooleanField('Carneiro #4')
carneiro5 = models.BooleanField('Carneiro #5')
carneiro6 = models.BooleanField('Carneiro #6')
carneiro7 = models.BooleanField('Carneiro #7')
carneiro8 = models.BooleanField('Carneiro #8')
carneiro9 = models.BooleanField('Carneiro #9')
carneiro10 = models.BooleanField('Carneiro #10')
As you guys can see(I hope), I'm trying to make these booleanfields displayed in 4 groups with can be collapsed. Please help me with it, I've tryed all :)
Getting this error:
SyntaxError at /admin/
invalid syntax (admin.py, line 38)
Request Method: GET
Request URL: http://127.0.0.1:8000/admin/
Django Version: 1.5.2
Exception Type: SyntaxError
Exception Value:
invalid syntax (admin.py, line 38)
Exception Location: /usr/local/lib/python2.7/dist-packages/django/utils/importlib.py in import_module, line 35
Python Executable: /usr/bin/python
Python Version: 2.7.3
Python Path:
['/home/lucas/Documentos/python/cicuta',
'/usr/local/lib/python2.7/dist-packages/South-0.8.2-py2.7.egg',
'/usr/lib/python2.7',
'/usr/lib/python2.7/plat-linux2',
'/usr/lib/python2.7/lib-tk',
'/usr/lib/python2.7/lib-old',
'/usr/lib/python2.7/lib-dynload',
'/usr/local/lib/python2.7/dist-packages',
'/usr/lib/python2.7/dist-packages',
'/usr/lib/python2.7/dist-packages/PIL',
'/usr/lib/python2.7/dist-packages/gst-0.10',
'/usr/lib/python2.7/dist-packages/gtk-2.0',
'/usr/lib/pymodules/python2.7',
'/usr/lib/python2.7/dist-packages/ubuntu-sso-client']
Server time: Ter, 3 Set 2013 01:51:07 -0300