Python 如何从django orm create获取queryset
当我在django orm中使用create时,我想将queryset作为返回值Python 如何从django orm create获取queryset,python,django,django-rest-framework,Python,Django,Django Rest Framework,当我在django orm中使用create时,我想将queryset作为返回值 newUserTitle = User_Title.objects.none() newUserTitle = newUserQuestTitle | newUserReviewTitle newUserTitle = newUserQuestTitle | newUserReviewTitle | newUserlevelTitle 我想添加三个对象(newUserQuestTitle、newUserR
newUserTitle = User_Title.objects.none()
newUserTitle = newUserQuestTitle | newUserReviewTitle
newUserTitle = newUserQuestTitle | newUserReviewTitle | newUserlevelTitle
我想添加三个对象(newUserQuestTitle、newUserReviewTitle、newUserlevelTitle)作为queryset
newUserTitle = User_Title.objects.none()
newUserTitle = newUserTitle.union(newUserQuestTitle)
newUserTitle = newUserTitle.union(newUserReviewTitle)
newUserTitle = newUserTitle.union(newUserlevelTitle)
如果newUserQuestTitle、newUserReviewTitle和newUserlevelTitle也包含在查询集中,那么这将起作用
我不完全理解你的问题,但这可能会对你有所帮助 我真的不明白您在问什么,或者为什么要这样做-如果您已经从数据库中获得了三个元素,我不明白您为什么需要查询集。但方法是获取这些项目的PKs并查询它们:
pks = [newUserQuestTitle.pk, newUserReviewTitle.pk, newUserlevelTitle.pk]
newUserTitle = User_Title.objects.filter(pk__in=pks)
(另外,请使用适当的Python样式;User\u Title应为UserTitle,其他对象应为小写,并带有下划线:
new\u User\u Title
,new\u User\u review\u Title
等)。这一点非常不清楚。什么是newUserReviewTitle和newUserlevelTitle?为什么newUserTitle是一个none
queryset?您希望结果是什么?能否更具体、更清楚地说明您想要什么?newUserQuestTitle、newUserReviewTitle、newUserlevelTitle是数据库中的对象。我想把这三个目标归结为一个,并对我不清楚的问题提出质疑。在我看来,创建了三个不同的对象(三种类型的标题),我希望使用序列化程序一次性将这些对象作为json数据发送。因此,我想将三个对象设置为一个查询集谢谢您的回答,但我得到了如下错误代码“对象没有属性'\u combinator\u query'”。我正在从这个代码对象创建标题对象,如“newUserReviewTitle=User\u Title.objects.create(User\u num\u id=User\u id,Title\u num\u id=10)”。您知道如何将其作为查询集获取吗?请尝试使用查询集。我不确定为什么会出现此错误,使用查询集仍然可以。newUserTitle=newUserTitle。\u combinator\u查询('union',newUserQuestTitle)
newUserTitle=newUserTitle。\u combinator\u查询('union',newuserreviewttitle)
newUserTitle=newUserTitle。\u combinator\u查询('union',newUserlevelTitle)
请尝试此功能。对于我不清楚的问题,很抱歉。在我看来,创建了三个不同的对象(三种类型的标题)我想使用序列化程序一次性将这些对象作为json数据发送。因此,我想创建三个对象对一个查询集。我不知道您所说的python样式。我会更改它。谢谢。三个元素不在数据库中。三个元素在视图中创建为对象。我的问题是错误的,很抱歉,您的要求是不可能的。A queryset是表示数据库中查询的元素集合。我根据您的建议解决了我的问题(pks=[newUserQuestTitle.pk,newUserReviewTitle.pk,newUserlevelTitle.pk]newUserTitle=User\u Title.objects.filter(pk\u in=pks))。谢谢