如何筛选未分配最新FeeType实例的Django学生列表?
Django学费管理:筛选未分配最新FeeType的学生列表
实现步骤
获取最新的FeeType实例
先拿到系统中最新的FeeType(比如你提到的"三月学费"),如果FeeType是按创建时间依次新增的,可按主键ID排序取最新:latest_fee_type = FeeType.objects.latest('id')若FeeType是按月份名称命名(如"一月学费""二月学费"),也可按
name字段排序取最新:latest_fee_type = FeeType.objects.latest('name')筛选未分配该FeeType的学生
使用exclude方法排除已存在对应CollectFee记录的学生,剩余结果即为未分配最新FeeType的学生列表:students_without_latest_fee = Student.objects.exclude( collectfee__feetype=latest_fee_type )
逻辑说明
exclude(collectfee__feetype=latest_fee_type)会过滤掉所有拥有关联最新FeeType的CollectFee记录的学生,最终返回的就是未被分配最新FeeType的学生集合,完全匹配你的需求。
内容的提问来源于stack exchange,提问作者Abdul Jabbar
相关产品推荐
相关产品推荐

