我有模特“:
class MyModel(models.Model):
field1 = ...
sites = models.ManyToManyField(Site, blank = True, null=True)
我希望过滤(site是一个正确的Site对象):
qs = MyModel.objects.filter(field1=thing, sites__id=site.id)
但这不起作用。我得到了所有的对象,甚至是那些没有参加表格的人。
或者我试过了:
qs = MyModel.objects.filter(field1=thing, sites__in=site)
但我一无所获。何你这样做?
答案 0 :(得分:2)
如果我理解您的问题,那么您有一个特定的site
,并且您尝试filter
该网站。然后你应该像这样过滤:
site = Site.objects.get(pk=1)
mymodel_for_site = MyModel.objects.filter(field1=thing, sites=site)
这应该获取特定site
答案 1 :(得分:-1)
尝试通过MyModel对象创建它,即:
object = MyModel.objects.get(field1=thing)
qs = object.sites.all()
检查django docs