簡體   English   中英

模型之間的Django關系

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM