简体   繁体   中英

Django how to get values by user_ID

I'm trying to get all of a users reports and pass them to the page template. My question is how do I filter by user_id=1?

views.py

data = report.objects.values()
return render(request,'list.html',data)

models.py

class user(models.Model):
    firstname = models.CharField(max_length=250)
    lastname = models.CharField(max_length=250)
    email = models.CharField(max_length=250)
    password = models.CharField(max_length=250)
    newsletter = models.BooleanField(default=0)
    accountlevel = models.BigIntegerField(default=1)
    reportsCreated = models.BigIntegerField(default=0)

class report(models.Model):
    user = models.ForeignKey(user, on_delete=models.CASCADE)
    name = models.CharField(max_length=250)
    dateran = models.DateField()
    fromdate = models.DateField()
    todate = models.DateField()
    state = models.IntegerField()
    graphURL = models.CharField(max_length=1000)
    reporttype = models.CharField(max_length=250)

In your views.py you can filter values by user id.

Refer following code

data = report.objects.filter(user__id=your_user_id).values()
return render(request,'list.html',data)

Got it to work, I was missing the context,

data = Report.objects.filter(user__id=1).values()
context = {'data': data}
return render(request,'list.html',context)

Thank you call for your help :)

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