Django模型类多对多查询

1. 定义两多对多模型类
class House(models.Model):
    facilities = models.ManyToManyField('Facility')
    
class Facility(models.Model):
    name = models.CharField(max_length=20, verbose_name='设施名称')
2. 查询
  • 由房子查设施
# 先获得一个房子对象
house = House.objects.get(id=4)

# 查询,获得这个房子的所有设施
house.facilities.all()
  • 由设施查房子
# 先获得一个设施对象
facility = Facility.objects.get(id=1)

# 获得拥有这个设施的所有房子
facility.house_set.all()

推荐阅读更多精彩内容