2012-04-09 66 views
0

我已经完成了我的模型,我正在尝试自定义特定模型的管理模型。管理员窗体自定义多选框

这里是我的admin.py

from project.base.models import * 
from django.contrib import admin 
from django import forms 

class StaffModuleForm(forms.ModelForm): 
    user = forms.ModelChoiceField(queryset=User.objects.all()) 
    class Meta: 
     model = StaffModule 

class StaffModuleAdmin(admin.ModelAdmin): 
    form = StaffModuleForm 
    class Meta: 
     pass 

Modules = [UserProfile, Student, Module, StaffModule, Exercise, Result] 
admin.site.register(Modules) 

,这里是有问题

class StaffModule(models.Model): 
    user = models.ForeignKey(User) 
    modules = models.ManyToManyField(Module) # Field name made lowercase. 
    department = models.CharField(max_length=6) 
    def __unicode__(self): 
     return str(self.user) 

这里的模型是我目前无法通过错误:

AttributeError at /admin/base/staffmodule/2/ 
type object 'StaffModuleAdmin' has no attribute '_meta' 

这里是痕迹:http://pastebin.com/tCJ9Q978

我真的很感谢一些帮助,因为我相信我遵循django管理员文档,我不太确定问题所在。

谢谢。

+0

另外你的问题有点含糊不清,最好问一个问题并解释你正在尝试做什么(在这个例子中如何定制管理页面)以及你如何尽可能使用痕迹尝试过。 – astevanovic 2012-04-09 23:30:57

回答

0

的问题是在这样的:

class StaffModuleAdmin(admin.ModelAdmin): 
    form = StaffModuleForm 
    class Meta: 
     pass 

Class Meta不应该为admin.ModelAdmin类中定义。