2010-07-30 61 views
2

我有这个简单的模型:分配多个标签到一个条目

class Tag(models.Model): 
    title = models.SlugField() 
    created = models.datetime 
    def __unicode__(self): 
     return self.title 

class Entry(models.Model): 
    title = models.CharField(max_length=30) 
    created = models.datetime 
    tags = models.ForeignKey(Tag) 
    categories = models.CharField(max_length=15) 
    def __unicode__(self): 
     return self.title 
    class Meta: 
     verbose_name_plural = "Entries" 

我需要能够对多个标签附加到项,以便它可以被保存到数据库中。我怎样才能做到这一点?现在只有一个标签被分配。

回答

3

由于一个标签可能有多个条目,反之亦然,因此您需要添加一个ManyToMany field

+0

我已经改变了标签= models.ForeignKey(TAG) 到标签= models.ManyToManyField(TAG) 然后,我已经更新了数据库与此模型一致,它的工作就好了!谢谢! – 2010-07-30 12:48:16

0

我会在模型中创建另一个类来支持这个。

class tagEntryJoins(models.Model): 
    tag = models.ForeignKey('Tag') 
    entry = models.ForeignKey('entry')