我只是在学习django和遵循教程。我有一个链接和一个书签。与我下面的教程不同,我希望一个链接只与一个书签相关联,但一个书签可以有多个链接。这是建立模型的方法吗?
class Link(models.Model):
url = models.URLField(unique=True)
bookmark = models.ForeignKey(Bookmark)
class Bookmark(models.Model):
title = models.CharField(maxlength=200)
user = models.ForeignKey(User)
links = models.ManyToManyField(Link)发布于 2010-04-24 07:43:32
不是的。从书签模型中删除书签,要访问特定书签的链接对象,您将使用bookmark.link_set.all() (其中links是特定书签对象)。Django为您填充了反向关系。
或者,如果您选择这样做,请在bookmark ForeignKey中提供您自己的related name,例如,如果您不喜欢"link_set“,则提供”链接“。
发布于 2010-04-24 07:44:55
在其中一个模型中定义关系就足够了。Django将自动在另一个模型中创建一个属性。
如果希望一个链接只与一个书签关联,请在Link中定义一个引用回Bookmark对象的外键:
class Bookmark(models.Model):
title = models.CharField(max_length=200)
user = models.ForeignKey(User)
class Link(models.Model):
url = models.URLField(unique=True)
bookmark = models.ForeignKey(Bookmark)要访问书签的链接,请使用bookmark.link_set。此属性由Django自动创建。
发布于 2010-04-24 07:47:13
不,从Bookmark中删除links =语句-- bookmark中为您预定义的是一个属性link_set,它是对书签为该属性的链接的查询(您可以重命名该属性,但实际上没有必要)。
https://stackoverflow.com/questions/2702567
复制相似问题