Django 未将foreignkey方法添加到用户对象

Django 未将foreignkey方法添加到用户对象,django,django-models,Django,Django Models,我的第一个django站点使用以下模型。但我目前在如何访问用户的愿望方面遇到了问题 class Group(models.Model): title = models.CharField(max_length=100) users = models.ManyToManyField(User, related_name='group_users') description = models.TextField() added = models.DateTimeFie

我的第一个django站点使用以下模型。但我目前在如何访问用户的愿望方面遇到了问题

class Group(models.Model):
    title = models.CharField(max_length=100)
    users = models.ManyToManyField(User, related_name='group_users')
    description = models.TextField()
    added = models.DateTimeField()
    owner = models.ForeignKey(User)
    def __unicode__(self):
        return self.title

class Wish(models.Model):
    name = models.CharField(max_length=50)
    user = models.ForeignKey(User, related_name='wish_user')
    bought = models.IntegerField(default=0)
    bought_by = models.ForeignKey(User, related_name='wish_buyer')
    added_by = models.ForeignKey(User, related_name='wish_adder')
    cost = models.FloatField()
    added = models.DateTimeField()
    def __unicode__(self):
        return self.name
    def is_bought(self):
        return self.bought % 2 == 1
    def is_editable(self):
        return self.added >= timezone.now() - datetime.timedelta(hours=1)
当我转到django shell时,我得到以下信息:

$ ./manage.py shell
>>> from django.contrib.auth.models import User
>>> from wish.models import Wish, Group
>>> user1 = User.objects.filter(id=1)[0]
>>> user1.group_set.all()
[]
>>> user1.wish_set.all()
Traceback (most recent call last):
  File "<console>", line 1, in <module>
AttributeError: 'User' object has no attribute 'wish_set'
>>>
$。/manage.py shell
>>>从django.contrib.auth.models导入用户
>>>从wish.models导入wish,组
>>>user1=User.objects.filter(id=1)[0]
>>>user1.group_set.all()
[]
>>>user1.wish_set.all()
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
AttributeError:“用户”对象没有属性“愿望集”
>>>

为什么用户对象没有像获得组集一样获得愿望集?

这是因为您将它们重命名为
wish\u User
wish\u buyer
wish\u adder
。而对于组,您从
所有者
属性和显式
组用户
获得
愿望集
隐式


related\u name
参数告诉Django如何命名反向关系。如果没有给出,它将是
\u set
,这是因为您将它们重命名为
wish\u user
wish\u buyer
wish\u adder
。而对于组,您从
所有者
属性和显式
组用户
获得
愿望集
隐式


related\u name
参数告诉Django如何命名反向关系。如果没有给出,它将是
\u set
,这是因为您将它们重命名为
wish\u user
wish\u buyer
wish\u adder
。而对于组,您从
所有者
属性和显式
组用户
获得
愿望集
隐式


related\u name
参数告诉Django如何命名反向关系。如果没有给出,它将是
\u set
,这是因为您将它们重命名为
wish\u user
wish\u buyer
wish\u adder
。而对于组,您从
所有者
属性和显式
组用户
获得
愿望集
隐式


related\u name
参数告诉Django如何命名反向关系。如果没有给出,它将被设置为
\u set

啊,这是有道理的!仅针对搜索此内容的其他人,当我使用
>>user1.wish\u user.all()
时,它确实会返回我期望的结果。谢谢啊,这是有道理的!仅针对搜索此内容的其他人,当我使用
>>user1.wish\u user.all()
时,它确实会返回我期望的结果。谢谢啊,这是有道理的!仅针对搜索此内容的其他人,当我使用
>>user1.wish\u user.all()
时,它确实会返回我期望的结果。谢谢啊,这是有道理的!仅针对搜索此内容的其他人,当我使用
>>user1.wish\u user.all()
时,它确实会返回我期望的结果。谢谢