我正在django-nonrel
appengine 上进行试验并尝试使用 adjangotoolbox.fields.ListField
来实现多对多关系。正如我在文档中所读到的ListField
,您可以使用它来解决 djamgo-nonrel 不支持多对多关系的解决方法。
这是我的模型的摘录:
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)
我虽然这会工作,但它没有。当我进入管理界面时,我得到与以前相同的错误。谁能告诉我在这里做错了什么......或者如果您有任何其他建议或在管理界面中使用 , 等的成功案例,ListField
我们SetField
将djangotoolbox.fields
不胜感激。