>>> empty = Person.objects.none()
если вы используете get, вы возвращаете объект db и получаете эту ошибку, когда вы пытаетесь использовать |добавить объект к пустому 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>]
>>>