[英]passing list of objects as manytomany field type in django
I want to know if we can pass a list of objects (in this case list of blog objects to the Entry model as the manytomany object parameter). 我想知道是否可以传递对象列表(在这种情况下,博客对象列表作为manytomany对象参数传递给Entry模型)。 On doing so i am not getting the desired result.
这样做我没有得到预期的结果。 Please help.
请帮忙。
models.py models.py
class Blog(models.Model):
id=models.AutoField(primary_key=True)
class Entry(models.Model):
id=models.AutoField(primary_key=True)
blogs=models.ManyToManyField(Blog)
views.py views.py
def something(request):
list=[]
for i in range(10):
list.append(Blog.objects.get(pk=i))
ans=Entry.objects.filter(blogs=list)
print(ans)
#some other work.
First thing you can do is replace your for
iterator with this: 您可以做的第一件事是用以下代码替换
for
迭代器:
blogs = Blog.objects.filter(id__range=[0, 10])
Second, you can use the lookup feature using __in
: 其次,您可以使用
__in
使用查找功能:
ans = Entry.objects.filter(blogs__in=blogs)
So your final views.py
could look like this: 因此,您的最终
views.py
可能如下所示:
def something(request):
blogs = Blog.objects.filter(id__range=[0, 10])
ans = Entry.objects.filter(blogs__in=blogs)
print(ans)
#some other work.
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.