我有一个链接和这样的书签模型:
class Link(models.Model):
url = models.URLField(unique=True)
def __unicode__(self):
return self.url
class Bookmark(models.Model):
title=models.CharField(max_length=200)
user=models.ForeignKey(User)
link=models.ForeignKey(Link)
def __unicode__(self):
return u'%s, %s' % (self.user.username, self.link.url)
现在在一个视图中,我看到一个带有给定url的链接是否已经存在。 然后将此对象与username to Bookmarks集合一起传递,以查看是否已经存在具有此用户名的书签,并且链接实例已经存在。在
^{pr2}$这是我不明白的地方。它如何知道如何将链接模型中的url字段作为一种比较方式?是因为我在链接模型中这样定义它吗?在
def __unicode__(self):
return self.url
我来自.NET,在那里你必须为类定义GetHash(),作为一种指定实例如何相互比较的方法。在
Python是怎么知道这一点的? 谢谢
我想你是在问“Django如何在过滤时比较实例”,而不是“python如何比较对象”。在
用下面的代码行
Django正在筛选链接对象的主键。
__unicode__
方法无关紧要。在有关更多信息,请参见comparing objects和queries over related objects的Django文档。在
相关问题 更多 >
编程相关推荐