I can save a "Node", "Link" but not a "Graph" (see error below). Using pymongo 2.1.1, Django-NoRel, Python 2.7:
from django.db import models
from djangotoolbox.fields import SetField, ListField, EmbeddedModelField
class Graph(models.Model):
links = ListField(EmbeddedModelField( Link ))
class Link(models.Model):
parent = EmbeddedModelField( Node )
child = EmbeddedModelField( Node )
class Node(models.Model):
extent = SetField() # set of strings e.g. "Gene-Bmp4"
intent = SetField() # set of strings
纽约总部
n1 = Node(extent=set(["Gene-bmp4"]),intent=set(["Attr1", "Attr2"]))
n2 = Node(extent=set(["Gene-fp4"]),intent=set(["Attr3", "Attr4"]))
link = Link(parent=n1, child=n2)
links = [link]
g = Graph(links=links)
g.save()
产生错误:
/Library/Python/2.7/site- Packages/pymongo-2.1.1-py2.7-macosx-10.7-intel.egg/pymongo/ Collection.py:312: 滚动式战斗机:可装条码——重载on器模块并再次尝试。 如果你看不出印瓦文件例外,请见一页。
Exception Type: InvalidDocument
Exception Value: Cannot encode object: set([ Attr2 , Attr1 ])
Exception Location: /Library/Python/2.7/site-packages/pymongo-2.1.1-py2.7-macosx-10.7-intel.egg/pymongo/collection.py in insert, line 312
Does anyone has any idea what should I do??