django select_related 用例;queryset 子集反向查询解决方案

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u010377372/article/details/80177970
tasks = Task.objects.select_related('order_belong').filter(order_belong__create_user=user)

先看一下数据库关系图

数据库Model如下:

class Order(models.Model):
    name = models.CharField(max_length=200, verbose_name='订单名称')
    user = models.ForeignKey(KwsUser, related_name='orders', verbose_name='创建者')
class Task(models.Model):
    order = models.ForeignKey(Order, related_name='order_tasks', verbose_name='所属订单')
User就是django默认的user

想要实现的效果是:获取一个用户所有的task

查询语句是:

tasks = Task.objects.select_related('order').filter(order__user=user)

猜你喜欢

转载自blog.csdn.net/u010377372/article/details/80177970