我对django有疑问,我想在其中使用某些关系,而我对该任务感到非常困惑。
我有两张桌子,一张桌子是ball
,另一张table
是体育场,在我的问题中,一个体育场可能有很多球,一个球可能有很多体育场。
这是我的模特:
class ball(models.Model):
code_ball=models.CharField(max_length=150,unique=True)
description_ball = models.CharField(max_length=254)
made_country_ball= models.CharField(max_length=254)
f_ball= models.CharField(max_length=254)
rel= models.ManyToManyField(stadium)
class stadium(models.Model):
code_stadium=models.CharField(max_length=150,unique=True)
description_stadium = models.CharField(max_length=254)
made_country_stadium= models.CharField(max_length=254)
andress_stadium= models.CharField(max_length=254)
team_stadium= models.CharField(max_length=254)
我的问题是如何创建查询视图以在html模板中显示该视图?
例如,在某些html页面中,需要显示表stadium
中的所有详细信息,以及表code_ball
中的description_bal
和balls
的全部或拳头ball
。
我不知道这样做很热,因为我没有将表stadium
到表.NET Framework
的外键,以某种方式我需要反向关系来创建新查询,任何知道如何?
答案 0 :(得分:0)
如果要具有ManyToMany字段的全部功能,则应定义一个通过表docs。这不会改变任何东西,但会向您显示幕后真正发生的事情。因此,您可以根据需要使用Foreignkey关系。
答案 1 :(得分:0)
您必须具有两个表的关联实体。
class ball(models.Model):
code_ball=models.CharField(max_length=150,unique=True)
description_ball = models.CharField(max_length=254)
made_country_ball= models.CharField(max_length=254)
f_ball= models.CharField(max_length=254)
rel= models.ManyToManyField(stadium, through='StadiumBall')
class stadium(models.Model):
code_stadium=models.CharField(max_length=150,unique=True)
description_stadium = models.CharField(max_length=254)
made_country_stadium= models.CharField(max_length=254)
andress_stadium= models.CharField(max_length=254)
team_stadium= models.CharField(max_length=254)
class StadiumBall(models.Model):
stadium = models.ForeignKey(stadium, on_delete=models.CASCADE)
ball = models.ForeignKey(ball, on_delete=models.CASCADE)