我想从费用表中获取学生上次支付的费用,其中学生id=id

2024-09-29 16:25:58 发布

您现在位置:Python中文网/ 问答频道 /正文

这是我的学生注册模式

class StudentRegistration(models.Model):
    #joinId = models.CharField(max_length=20)
    name = models.CharField(max_length=30)
    phone  = models.BigIntegerField()
    age  = models.IntegerField()
    discription  = models.CharField(max_length=200)
    address= models.CharField(max_length=100,null=True)
    joiningDate = models.DateField(default=datetime.now)
    plan = models.ForeignKey(Plan,on_delete = models.CASCADE)
   

这是我的学生和费用模型,我试图获得学生的详细信息和费用。这个学生每个月都交学费,但我想得到他的最后一笔钱。现在它显示了他的所有付款

这是我的收费模式

class fees(models.Model):
    student = models.ForeignKey(StudentRegistration,on_delete=models.CASCADE)
    paidAmount = models.BigIntegerField()
    balance  = models.BigIntegerField()
    lastFeePaid = models.DateField(default=datetime.now)
    feeStatus = models.BooleanField(default=False)

views.py:

def student_list(request): 
    students = StudentRegistration.objects.all() 
    fees_paid = fees.objects.latest('lastFeePaid') 
    return render(request, 'student_list.html',{'students':students})

1条回答
网友
1楼 · 发布于 2024-09-29 16:25:58

根据PEP8约定,Python类名应该在PascalCase中,我在这里为您更改它

class Fees(models.Model):
    student = models.ForeignKey(StudentRegistration,on_delete=models.CASCADE)
    paidAmount = models.BigIntegerField()
    balance  = models.BigIntegerField()
    lastFeePaid = models.DateField(default=datetime.now)
    feeStatus = models.BooleanField(default=False)

在您的案例中,您可以使用以下方法

last_fee_instance = Fees.objects.filter(student_id=12345).latest("pk")

相关问题 更多 >

    热门问题