Python 如何使用Django';什么样的型号?
我很难弄清楚如何使用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、 例如,所有这些
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)