简体   繁体   中英

matching query does not exist Django

thanks for your time. i've just created a model that is linked to each user although i'm not beeing able to get objects from that model for the id or any other fields from his. I'm having trouble to when try to call each user.Parceiros.object when i try the Parceiros.objects.get(id=1) on python shell or in the project i get query does not exist. althgough if i try Parceiros.objects.filter(id=1) it gets me the object wanted.

and getting this error:parceirosview() got an unexpected keyword argument 'id'

views.py (i've tried both):

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

in urls.py-> urlpatterns:

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

in views.py

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

if you want to get the related user, in your template simply call:

{{ parc.user }}

to enable reverse call from user to get parc just define a related_name in your models foreign key field.

model -> parc :

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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM