管理表单自定义多个选择框

时间:2012-04-09 20:55:59

标签: python django

我已完成模型,我正在尝试为特定模型自定义管理模型。

这是我的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管理员文档,我不太确定问题是什么。

感谢。

1 个答案:

答案 0 :(得分:0)

问题在于:

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

不应为Class Meta类定义内部admin.ModelAdmin