小编Gök*_*şçı的帖子

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

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

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

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] + "..."
Run Code Online (Sandbox Code Playgroud)

我有一个属于两个用户的示例词对象,我希望只有这两个用户才能在他们的提要页面上看到这个词对象。我应该如何更正下面的视图功能?

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})
Run Code Online (Sandbox Code Playgroud)

基本上,我想检查一个单词对象的用户列表是否包含授权用户,如果包含,该单词将从数据库中获取。我该如何编码?

python database django

4
推荐指数
1
解决办法
1764
查看次数

标签 统计

database ×1

django ×1

python ×1