[英]Django relations between Models
我目前在模型中擁有的是:
class Project(models.Model):
project_name = models.CharField(max_length=255, unique=True, blank=False)
def __str__(self):
return str(self.project_name)
class Profile(models.Model):
user = models.OneToOneField(User, on_delete=models.CASCADE)
role = models.CharField(choices=ROLE_CHOICES, max_length=255, default='Agent')
現在我的問題是:用戶應該可以有多個項目-所以我顯然不能在配置文件模型中使用OneToOne字段。
后來我想用它來例如僅顯示一個用戶新聞,該新聞只與他參與的項目有關。
使之成為可能的最佳策略是什么? 高度贊賞任何輸入。
在項目上使用ManyToMany。
class Profile(models.Model):
user = models.OneToOneField(User, on_delete=models.CASCADE)
role = models.CharField(choices=ROLE_CHOICES, max_length=255, default='Agent')
project = models.ManyToManyField(Project)
這樣,一個配置文件可以擁有他/她想要的多個項目
在您的視圖上,您可以使用此字段根據項目進行過濾
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.