2014-08-29 96 views
2

我有以下的Django模型:多对多场mongoengine文件

from mongoengine import * 
from datetime import datetime 

class Company(Document): 

    name = StringField(max_length=500) 



class Feedback(Document): 

    text = StringField(max_length=500) 
    is_approved = BooleanField(default=False) 
    date = DateTimeField(default=datetime.now()) 

我想补充反馈的多对多领域公司提前

感谢。

+0

@Anto这不是一个Django模型,这是一个mongoengine文档。 Django的文档将毫无帮助。 – 2014-08-29 13:04:42

+0

哦,对了,谢谢澄清。 – Anto 2014-08-29 13:05:39

回答

4

这不是一个Django模型,而是一个mongoengine Document。它没有ManyToManyField。相反,你应该大概ReferenceFieldListField添加到您的Company类,如下:

class Company(Document): 
    name = StringField(max_length=500) 
    feedbacks = ListField(ReferenceField(Feedback)) 

class Feedback(Document): 
    text = StringField(max_length=500) 
    is_approved = BooleanField(default=False) 
    date = DateTimeField(default=datetime.now()) 

来源:http://docs.mongoengine.org/guide/defining-documents.html#one-to-many-with-listfields

+0

我对这个话题有一点怀疑。 ***我不能在Company.feedbacks中添加反馈对象。***请帮助我。 – 2014-08-29 13:52:06

+0

请查看我给出的链接。我相信它有很简洁的例子。 – 2014-08-29 16:57:01

+0

@VasilyAlexeev 当我在没有反馈实例的情况下保存公司对象时是否有任何错误 如何在内部反馈中添加required = False = ListField(ReferenceField(Feedback))。 – 2014-08-30 11:10:54