Skip to main content
 首页 » 编程设计

python之构建 Django 多对多关系

2024年09月03日33thcjp

在为我学校的年鉴委员会编写申请时,我在为特定关系建模时遇到了一些死胡同。目前我有一个摄影类

class Photo(models.Model): 
 photo = models.ImageField(upload_to="user_photos/") 
 name = models.CharField(blank=True, max_length=50) 
 
 rating = models.IntegerField(default=1000) 
 
 wins = models.IntegerField(default=0) 
 matches = models.IntegerField(default=0) 

和一个用户类

class UserProfile(models.Model): 
 user = models.ForeignKey(User, unique=True) 
 group = models.CharField(max_length=50) 

两者都在顺畅地工作。我想做的是将其分解,这样一张照片将具有来自整个用户群的投票的全局评级,以及仅基于用户对该照片的投票的评级。不幸的是,我不知道如何构建它。我的第一个想法是 ManyToMany 领域,但我也在考虑像这样将评分分解成自己的模型:

class Rating(models.Model) 
     photo = models.ManyToOne(Photo) 
     rating = models.IntegerField(default=1500) 

可以工作。

Django(或者实际上,任何稍微有能力的人,因为我知道我不是)大师能否为我指明正确的方向来解决这个简单的难题?

请您参考如下方法:

你想要一个 through table .