匹配当前用户';django模型中带字段的s id

匹配当前用户';django模型中带字段的s id,django,django-models,django-views,Django,Django Models,Django Views,我想从模型中获取数据,方法是使用当前登录用户(其id已存在于员工模型中)对数据进行过滤。我如何做到这一点 Models.py from django.db import models from django.contrib.auth.models import User import django import datetime # Create your models here. class vendor(models.Model): id = models.CharField(

我想从模型中获取数据,方法是使用当前登录用户(其id已存在于员工模型中)对数据进行过滤。我如何做到这一点

Models.py

from django.db import models
from django.contrib.auth.models import User
import django
import datetime
# Create your models here.



class vendor(models.Model):
    id = models.CharField(max_length=20, primary_key=True)
    name = models.CharField(max_length=30)

class employee(models.Model):
    name = models.OneToOneField(User, on_delete=models.CASCADE)
    id = models.CharField(max_length=20, primary_key=True)
    balance = models.IntegerField(default=0)

class transaction(models.Model):
    vendor_id = models.ForeignKey(vendor, on_delete=models.CASCADE)
    emp_id = models.ForeignKey(employee, on_delete=models.CASCADE)
    debit = models.IntegerField()
    credit = models.IntegerField()
    timestamp = models.DateField(("Date"), default=datetime.date.today)
views.py:

def updatingBalance(request):
    if request.method=="POST":
        ven_id = request.POST["groupOfDefaultRadios"]
        amount = request.POST["amt"]
        print("..................debg 1")

        print("User Id is {} and employee id = {}".format(User.id, id))
        x = employee.objects.get(id = User.id)
        x.balance = x.balance - amount
        p = transaction(vendor_id =int(ven_id), emp_id = request.User.id, debit=amount, credit=0)
        p.save()
        y = employee.objects.filter(id = User.id)
        return render(request, 'profiles/userLogin.html/', {'model':y})
return render(request, 'profiles/userLogin.html/')

在将供应商id分配给交易模型之前,应先查询供应商id/

v = vendor.objects.get(id=ven_id)
transaction.objects.create(vendor_id =v, emp_id =request.user, debit=amount, credit=0)

在将供应商id分配给交易模型之前,应先查询供应商id/

v = vendor.objects.get(id=ven_id)
transaction.objects.create(vendor_id =v, emp_id =request.user, debit=amount, credit=0)

使用'request.user'y=employee.objects.filter(name=request.user)谢谢!出现另一个错误,无法分配“1”:“transaction.vendor\u id”必须是“vendor”实例。如何解决这个问题?1是我通过表单传递的值。首先使用'objects.get()'use'request.user'y=employee.objects.filter(name=request.user)加载用户实例,谢谢!出现另一个错误,无法分配“1”:“transaction.vendor\u id”必须是“vendor”实例。如何解决这个问题?1是我通过表单传递的一个值。首先使用“objects.get()”加载用户实例,谢谢大家的帮助。谢谢大家的帮助。