Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何在django中过滤具有多对多关系的对象_Python_Django_Database - Fatal编程技术网

Python 如何在django中过滤具有多对多关系的对象

Python 如何在django中过滤具有多对多关系的对象,python,django,database,Python,Django,Database,我是Django的新手,我正在尝试发现多对多的关系 我有一个与默认用户模型有多对多关系的word模型: from django.db import models from django.contrib.auth.models import User class Word(models.Model): definition = models.CharField(max_length=350) turkish = models.CharField(max_length=50)

我是Django的新手,我正在尝试发现多对多的关系

我有一个与默认用户模型有多对多关系的word模型:

from django.db import models
from django.contrib.auth.models import User

class Word(models.Model):
    definition = models.CharField(max_length=350)
    turkish = models.CharField(max_length=50)
    english = models.CharField(max_length=50)
    users = models.ManyToManyField(User)

    def __str__(self):
        return self.english

    def summary(self):
        return self.definition[:50] + "..."
我有一个属于两个用户的示例word对象,我只希望这两个用户在他们的feedpage上看到这个word对象。我应该如何更正下面的查看功能

from django.shortcuts import render
from django.contrib.auth.models import User

@login_required
def home(request):
    user = request.user 
    small = user.username.title()
    words = Word.objects.filter(??????) #order_by('-english')
    return render(request, 'intro.html', {'words': words, 'small' : small})

基本上,我想检查word对象的用户列表是否包含authourized user,如果包含,则word将从数据库中获取。我该如何编写此代码?

我认为您应该能够做到这一点

words = Word.objects.filter(users=user)
要检查多个用户,您可以执行以下操作

words = Word.objects.filter(users__in=[user1,user2])
请看下面的示例