3
我已經在django中創建了一個空的QuerySet。Django使用空的QuerySet連接數據庫對象
empty = classname.objects.none()
和我有一個同類的對象(稱爲類)。
class
我想要一個新的具有'class'的QuerySet。
EmptyQuerySet上沒有append方法,和&不適用於數據庫對象。
我已經在django中創建了一個空的QuerySet。Django使用空的QuerySet連接數據庫對象
empty = classname.objects.none()
和我有一個同類的對象(稱爲類)。
class
我想要一個新的具有'class'的QuerySet。
EmptyQuerySet上沒有append方法,和&不適用於數據庫對象。
>>> empty = Person.objects.none()
如果你使用得到你返回一個數據庫對象,並得到這個錯誤,當你嘗試使用|將該對象附加到空qs:
>>> qs = empty|Person.objects.get(pk=1)
Traceback (most recent call last):
File "<console>", line 1, in <module>
File "/home/dev/.virtualenvs/dev/lib/python2.7/site-packages/django/db/models/query.py", line 1018, in __or__
return other._clone()
AttributeError: 'Person' object has no attribute '_clone'
但是,您可以使用|運算符來組合兩個查詢集。要將對象作爲查詢集,我們可以使用.filter():
>>> qs = empty|Person.objects.filter(pk=1)
>>> print qs
[<Person: A>]
>>> qs = qs|Person.objects.filter(pk=2)
>>> print qs
[<Person: A>, <Person: B>]
>>>
新學習! | =運算符可以追加對象!謝謝! – rechie 2013-11-29 02:56:40