pra*_*jal 3 django django-models django-queryset
我在django中创建了一个空的QuerySet,就像这样.
empty = classname.objects.none()
Run Code Online (Sandbox Code Playgroud)
我有一个相同类的对象(称为类).
class
Run Code Online (Sandbox Code Playgroud)
我想要一个新的QuerySet,其中包含'class'.
EmptyQuerySet和|上没有append方法 和&不适用于db对象.
>>> empty = Person.objects.none()
Run Code Online (Sandbox Code Playgroud)
如果您使用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'
Run Code Online (Sandbox Code Playgroud)
但是你可以使用| 运算符组合两个查询集.要将对象作为查询集,我们可以使用.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>]
>>>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2069 次 |
| 最近记录: |