我正在用appengine试验django-nonrel
并尝试使用djangotoolbox.fields.ListField
来实现多对多关系。正如我在文档中看到的,ListField
是您可以用来解决djamgo-nonrel不支持多对多关系的解决方法。ListField的Django-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
,将非常感激。
Rman,我遇到了实现上述示例的问题,您可以在http://stackoverflow.com/questions/7782535/django-nonrel-with-mongdb-listfield发布您的输入 – bobsr 2011-10-16 05:26:44