我有一个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。
答案 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)