Python 字段集尝试对布尔字段进行分组时遇到问题
我试图自定义我的管理面板,将一些复选框分组,但我在使用字段集时遇到了问题。如果有人能帮我的话。 提前谢谢 admin.pyPython 字段集尝试对布尔字段进行分组时遇到问题,python,django,admin,Python,Django,Admin,我试图自定义我的管理面板,将一些复选框分组,但我在使用字段集时遇到了问题。如果有人能帮我的话。 提前谢谢 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): # fieldse
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)
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')
型号.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)
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')
正如你们所看到的(我希望如此),我正在尝试将这些布尔字段分成4组显示,并且可以折叠。
请帮帮我,我都试过了:)
获取此错误:
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
你有一个SyntaxError。。我猜字典应该是
{key:value}
。在'classes'
删除“,”之后添加冒号,即
('Galinhas', {
'classes': ['collapse',],
'fields': galinhas
}),
('Porcos', {
'classes': ['collapse',],
'fields': porcos
}),
('Perus', {
'classes': ['collapse',],
另外,由于您已经导入了
treino
,但正在使用模型。treino
,您可能也会得到namererror
。工作:D现在我有另一个问题,我如何隐藏那些galinha1、galinha2。。。从模型中,只显示我在管理中添加的那些?因为表单显示了两者。我认为您需要对None
类别中的fields
使用resto
,而不是todos
。如果我没听错的话。哈哈,萨加尔克里斯,非常感谢。。我需要更加注意这些细节:)现在100%工作