匹配的查询不存在Django


感谢您抽出时间。我刚刚创建了一个链接到每个用户的模型,尽管我无法从该模型中获取id的对象或他的任何其他字段。我在尝试给每个用户打电话时遇到了麻烦。当我在python shell上尝试Parceiros.objects.get(id=1(时,或者在我得到的项目中,查询不存在。尽管如此,如果我尝试Parceiros.objects.filter(id=1(,它会得到我想要的对象。

得到这个错误:parceirosview((得到了一个意外的关键字参数"id">

views.py(我都试过了(:

def parceirosview(request, pk):
parc = get_object_or_404(Parceiros, id=pk)
context = {'parc': parc}
return render(request, 'parceiro.html', context)
def get_queryset(self):
return super().get_queryset().filter(parceiro__user=self.request.user)

models.py:

get_user_model = User
class Parceiros (models.Model):
user = models.OneToOneField(User, on_delete=models.CASCADE)
nome = models.CharField(max_length=200)
endereco = models.TextField(max_length=400, blank=True)
responsavel = models.CharField(max_length=100)
tel = PhoneField(max_length=12)
created_at = models.DateTimeField(auto_now=True)
updated_at = models.DateTimeField(auto_now_add=True, blank=True)
ativo = models.BooleanField(default=False)
def __str__(self):
return '%s %s' % (self.user, self.nome)
def get_queryset(self):
queryset = super(Parceiros, self).get_queryset()
return queryset

在urls.py->urlpatters:中

path('parceiro/<int: pk>/',  views.parceirosview, name="parceirosview")

视图.py

def parceirosview(request, pk=None):
parc = get_object_or_404(Parceiros, id=pk)
return render(request, 'parceiro.html', {'parc': parc})

如果你想得到相关的用户,在你的模板中只需调用:

{{ parc.user }}

要允许用户反向调用以获取parc,只需在模型外键字段中定义一个related_name即可。

型号->parc:

user = foreign_key(User, related_name="pracs", .....)

最新更新