Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何使用Django';什么样的型号?_Python_Django_Django Models - Fatal编程技术网

Python 如何使用Django';什么样的型号?

Python 如何使用Django';什么样的型号?,python,django,django-models,Python,Django,Django Models,我很难弄清楚如何使用Django的模型过滤器进行此查询。问题是: select bs.name, bf.name from bs join bcs on bs.id_bs = bcs.bs_id join bfc on bcs.bc_id = bfc.bc_id join bf on bfc.bf_id = bf.id_bf 我如何使用Django的模型过滤器来实现这一点?谢谢 编辑: 请提供类定义和/或表结构。i、 例如,所有这些

我很难弄清楚如何使用Django的模型过滤器进行此查询。问题是:

select 
    bs.name, 
    bf.name 
from 
    bs
join 
    bcs on bs.id_bs = bcs.bs_id
join 
    bfc on bcs.bc_id = bfc.bc_id
join 
    bf on bfc.bf_id = bf.id_bf
我如何使用Django的模型过滤器来实现这一点?谢谢

编辑:


请提供类定义和/或表结构。i、 例如,所有这些
id
字段都是主键和/或外键吗?@mattm i添加了类定义。我缩短了类和变量名,希望不会太混乱。如果您需要,我可以添加更多信息。您为什么不使用ManyToManyField?这应该会让事情变得更容易。可能是因为我在不同的时间添加了这些类。我将使用许多字段进行尝试。
class BS(models.Model):
    id_bs = models.AutoField(primary_key=True)
    name = models.CharField(max_length=765, null=False)

class BC(models.Model):
    id_bc = models.AutoField(primary_key=True)
    name = models.CharField(max_length=765)

class BF(models.Model):
    id_bf = models.AutoField(primary_key=True)
    name = models.CharField(max_length=765)

class BCS(models.Model):
    id_bcs = models.AutoField(primary_key=True)
    bc = models.ForeignKey(BC, null=True, on_delete=models.SET_NULL)
    bs = models.ForeignKey(BS, null=True, on_delete=models.SET_NULL)

class BFC(models.Model):
    id_bfc = models.AutoField(primary_key=True)
    bf = models.ForeignKey(BF, null=True, on_delete=models.SET_NULL)
    bc = models.ForeignKey(BC, null=True, on_delete=models.SET_NULL)