我正在开发我的第一个 Django 应用程序,并尝试为其创建模型,但我一直坚持如何创建我认为应该是简单的模型关系。我想为用户创建一个模型,具有用户名、密码(当然是哈希值)、加入日期等典型属性。然后希望能够将该用户链接到网站上的所有 friend /关注者。但我陷入困境的是我如何设置这种关系,因为一个用户可以有很多 friend ,我可以关闭用户表的主键,但是如何为 friend 表创建一个具有主键的模型user 表有两个功能,一是映射到用户,二是映射到所有 friend 的主键?
from django.db import models
class User(models.Model):
username = models.CharField(max_length=50)
password = models.CharField(max_length=200)
dateJoined = models.DateField('date joined')
class Friends(models.Model):
user = models.ForeignKey(User)
最佳答案
首先,我建议您不要创建自己的用户模型,而是使用 Django 中内置的用户模型。它会处理您正在寻找的所有字段。
其次,我还会创建一个“个人资料”模型并将我的 friend 存储在其中。看看这里有哪些配置文件:http://docs.djangoproject.com/en/1.2/topics/auth/#storing-additional-information-about-users
第三,在您的个人资料模型中,我会为 friend 添加一个字段,如下所示:http://docs.djangoproject.com/en/1.2/ref/models/fields/#django.db.models.ManyToManyField.symmetrical
然后,您可以访问用户的好友,例如 user.get_profile().friends.all()
。有点冗长,但保持简洁。
关于python - 为没有多对多关系的 friend 创建架构?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4904891/