用户的联系人列表

时间:2016-03-22 09:19:44

标签: django

我有一个UserProfile模型,它扩展了用户模型:

class UserProfile(models.Model):
    user = models.OneToOneField(User)
    avatar = models.CharField(max_length=40, default='0')
    activation_key = models.CharField(max_length=40, blank=True)
    key_expires = models.DateTimeField(default=django.utils.timezone.now)

我想让每个用户都有一个联系人列表。联系人是User模型的对象。我想列出Skype或社交网络中的联系人列表。 我试图像这样做:

class UserContact(models.Model):
    user = models.ForeignKey(User, related_name='contacts')
    username = models.CharField(max_length=40, blank=True)

但我觉得有些不对劲。因为如果我从UserContact模型中选择所有内容,我会收到整个用户名列表,而不会使用User模型中的用户ID。

1 个答案:

答案 0 :(得分:2)

您应该结帐Many-To-Many relationships

class UserProfile(models.Model):
    user = models.OneToOneField(User)
    avatar = models.CharField(max_length=40, default='0')
    activation_key = models.CharField(max_length=40, blank=True)
    key_expires = models.DateTimeField(default=django.utils.timezone.now)
    contacts = models.ManyToManyField(User)