2011-06-11 46 views
0

假设有大量的用户和大量的视频,这将是一个更好的方式来结构的以下两个选项的数据库:数据库结构连接用户和媒体

选择一个 -

class UserProfile(models.Model) 
    user = models.ForeignKey(User, unique=True) 
    videos = models.ManyToManyField(Video, blank=True) 

class Video(models.Model) 
    title = models.CharField(max_length=256) 
    file = models.FileField(...) 

选择二 -

class UserProfile(models.Model) 
    user = models.ForeignKey(User, unique=True) 

class Video(models.Model) 
    uploaded_by = models.ForeignKey(User) 
    title = models.CharField(max_length=256) 
    file = models.FileField(...) 

回答

2

影片无关用户配置文件,所以第一个关系是错误的。它还需要跨越另一个表才能找到用户的视频。使用第二个。

+2

+1,但如果除了用户以外没有其他字段,则抛弃UserProfile。它变得毫无用处。 – 2011-06-11 03:00:43