有一个新对象(尚未保存):
obj = MyObject()
q = MyObject.objects.all()
有什么办法可以合并obj
和q
?
答案 0 :(得分:1)
可能您可以将其与chain
我在django shell中尝试过此操作:
In [1]: from itertools import chain
...: comment = Comment()
...: all_comments = Comment.objects.all() # there's 1 comment in my db: <QuerySet [<Comment: Comment object>]>
...: combined = list(chain([comment], all_comments))
...: print(combined)
[<Comment: Comment object>, <Comment: Comment object>]
答案 1 :(得分:0)
如果未保存obj
,则无法合并(假设您要在此处使用queryset)。这里q
是一个惰性查询。 When it is evaluated,那么它将带所有包含obj
的对象(如果它是在评估前创建的)。
但是您可以在评估q
之后将其附加到对象列表中(如果您不想保存obj
,无论如何)。像这样:
q_list = list(q)
q_list.append(obj)