以下是我的模型摘录内容:
class MyClass(models.Model):
field = ListField(models.ForeignKey(AnotherClass))
如果我理解正确,我正在创建另一个类的外键列表,以显示与另一个类的多个实例之间的关系。
使用这种方法一切都正常...没有异常。我可以在代码和视图中创建'MyClass'对象。但是,当我尝试使用管理界面时,我会收到以下错误:
No form field implemented for <class 'djangotoolbox.fields.ListField'>
我想尝试一些之前没有做过的事情,创建自己的字段。实际上,在管理界面中编辑MyClass
实例的表格也是我自己创建的。下面是我的操作步骤:
class MyClassForm(ModelForm):
field = fields.MultipleChoiceField(choices=AnotherClass.objects.all(), widget=FilteredSelectMultiple("verbose_name", is_stacked=False))
class Meta:
model = MyClass
然后我将MyClassForm
作为要在管理界面中使用的表单进行传递。
class MyClassAdmin(admin.ModelAdmin):
form = MyClassForm
admin.site.register(MyClass, MyClassAdmin)
我以为这样会有效果,但事实并非如此。当我进入管理员界面时,出现了与之前相同的错误。有人能告诉我在这里做错了什么吗...或者如果您对在管理员界面中使用 djangotoolbox.fields
中的 ListField
、SetField
等有任何其他建议或成功经验,那将非常感激。