我应该做哪些改变来改变过滤条件?
What changes I should make change the get to filter?
我正在为我的大学作业做一个项目。
在那,我需要改变一个功能。该函数给出了多个对象 returned 的错误。如果 return 只有一个对象,该函数运行良好。但我需要将它更改为 return 它以 return 所有对象。那么我需要做什么改变。我附上功能代码。请提供代码进行修改。我只是编码的初学者。谢谢
我正在使用 Pycharm、Django 和。 MySQL 做我的项目
问题是 obj=booking.objects.get
是 returning 多个对象,它无法通过函数显示。所以我需要获取显示所有对象的代码。我知道使用 filter()
可以解决问题。但是我不知道要进行哪些更改以及应该在哪里进行更改。所以请帮助。我只是一个初学者。
def vpay(request) :
b=request.session['uid']
ob=TurfManager.objects.get(t_id=b)
bb=ob.tf_id
obj=Booking.objects.get(tf_id=bb)
nn=obj.b_id
o = Payment.objects.filter(book_id=nn)
context = {
'obval': o,
}
class Payment(models.Model):
p_id = models.AutoField(primary_key=True)
# u_id = models.IntegerField()
u=models.ForeignKey(User,to_field='u_id',on_delete=models.CASCADE)
payment = models.CharField(max_length=50)
# book_id = models.IntegerField()
book=models.ForeignKey(Booking,to_field='b_id',on_delete=models.CASCADE)
upi_id = models.CharField(max_length=50)
class Booking(models.Model):
b_id = models.AutoField(primary_key=True)
# u_id = models.IntegerField()
u=models.ForeignKey(User,to_field='u_id',on_delete=models.CASCADE)
# tf_id = models.IntegerField()
tf = models.ForeignKey(TurfLocation, to_field='tf_id', on_delete=models.CASCADE)
date = models.DateField()
#timeslot_id = models.CharField(max_length=50)
timeslot = models.ForeignKey(TimeSlot, to_field='timeslot_id', on_delete=models.CASCADE)
status = models.CharField(max_length=50)
您可以将filter
用作
def vpay(request) :
b = request.session['uid']
ob = TurfManager.objects.get(t_id=b)
obj = Booking.objects.filter(tf_id=ob.tf_id)
o = Payment.objects.filter(book_id__in=obj)
context = {
'obval': o,
}
我正在为我的大学作业做一个项目。 在那,我需要改变一个功能。该函数给出了多个对象 returned 的错误。如果 return 只有一个对象,该函数运行良好。但我需要将它更改为 return 它以 return 所有对象。那么我需要做什么改变。我附上功能代码。请提供代码进行修改。我只是编码的初学者。谢谢
我正在使用 Pycharm、Django 和。 MySQL 做我的项目
问题是 obj=booking.objects.get
是 returning 多个对象,它无法通过函数显示。所以我需要获取显示所有对象的代码。我知道使用 filter()
可以解决问题。但是我不知道要进行哪些更改以及应该在哪里进行更改。所以请帮助。我只是一个初学者。
def vpay(request) :
b=request.session['uid']
ob=TurfManager.objects.get(t_id=b)
bb=ob.tf_id
obj=Booking.objects.get(tf_id=bb)
nn=obj.b_id
o = Payment.objects.filter(book_id=nn)
context = {
'obval': o,
}
class Payment(models.Model):
p_id = models.AutoField(primary_key=True)
# u_id = models.IntegerField()
u=models.ForeignKey(User,to_field='u_id',on_delete=models.CASCADE)
payment = models.CharField(max_length=50)
# book_id = models.IntegerField()
book=models.ForeignKey(Booking,to_field='b_id',on_delete=models.CASCADE)
upi_id = models.CharField(max_length=50)
class Booking(models.Model):
b_id = models.AutoField(primary_key=True)
# u_id = models.IntegerField()
u=models.ForeignKey(User,to_field='u_id',on_delete=models.CASCADE)
# tf_id = models.IntegerField()
tf = models.ForeignKey(TurfLocation, to_field='tf_id', on_delete=models.CASCADE)
date = models.DateField()
#timeslot_id = models.CharField(max_length=50)
timeslot = models.ForeignKey(TimeSlot, to_field='timeslot_id', on_delete=models.CASCADE)
status = models.CharField(max_length=50)
您可以将filter
用作
def vpay(request) :
b = request.session['uid']
ob = TurfManager.objects.get(t_id=b)
obj = Booking.objects.filter(tf_id=ob.tf_id)
o = Payment.objects.filter(book_id__in=obj)
context = {
'obval': o,
}