Django rest framework 使用MongoEngine获取集合中所有文档中的所有嵌入文档
我试着在互联网上搜索这个,但似乎找不到任何东西(如果这个在这里的某个地方,很抱歉) 我将Mongoengine与Django一起使用,并具有以下模型:Django rest framework 使用MongoEngine获取集合中所有文档中的所有嵌入文档,django-rest-framework,mongoengine,embedded-documents,restframeworkmongoengine,Django Rest Framework,Mongoengine,Embedded Documents,Restframeworkmongoengine,我试着在互联网上搜索这个,但似乎找不到任何东西(如果这个在这里的某个地方,很抱歉) 我将Mongoengine与Django一起使用,并具有以下模型: class Event(EmbeddedDocument): tagged_event = StringField(max_length=255) example_event = StringField(max_length=255) severity = StringField(max_length=4) cre
class Event(EmbeddedDocument):
tagged_event = StringField(max_length=255)
example_event = StringField(max_length=255)
severity = StringField(max_length=4)
created_by = StringField(max_length=255)
created_on = DateTimeField()
modified_by = StringField(max_length=255)
modified_on = DateTimeField()
class Definition(Document):
title = StringField(max_length=255)
description = StringField(max_length=255)
resolution = StringField(max_length=255)
events = ListField(EmbeddedDocumentField(Event))
created_by = StringField(max_length=255)
created_on = DateTimeField()
modified_by = StringField(max_length=255)
我要做的是返回定义集合中的每个“事件”,而不是视图中的“定义”
有什么想法吗
非常感谢
****更新****
我找到了一份工作:
我在Django中将事件创建为一个单独的应用程序,并将ReferenceField设置为从另一个应用程序导入的定义
在EventView中,我使用定义的ID设置引用字段
class Event(Document):
tagged_event = StringField(max_length=255)
example_event = StringField(max_length=255)
severity = StringField(max_length=4)
definition = ReferenceField(Definition)
created_by = StringField(max_length=255)
created_on = DateTimeField()
modified_by = StringField(max_length=255)
modified_on = DateTimeField()
视图.py
def post(self, request):
serializer = EventSerializer(data=request.data)
if not serializer.is_valid():
return Response(serializer.data, status=status.HTTP_400_BAD_REQUEST)
else:
data = serializer.data
date = datetime.datetime.now()
Event.objects.create(tagged_event=data['tagged_event'], example_event=data['example_event'], severity=data['severity'], definition=data['definition'], created_by=data['created_by'], created_on=date, modified_by=data['modified_by'], modified_on=date)
return Response(serializer.data, status=status.HTTP_201_CREATED)
尽管我仍然想知道是否有可能在所有文档中过滤掉所有被盗用的文档