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()