Reputation: 360
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
Upvotes: 0
Views: 56
Reputation: 844
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", .....)
Upvotes: 1