0

我想知道可以将列表用作模型的对象。

我正在开发一个 django 应用程序,我希望用户能够“喜欢”其他用户,并保留他们喜欢的用户列表,以便我可以在其他页面中呈现它。

那么有没有像“listField”这样的东西?

谢谢您的帮助。

4

2 回答 2

2

绝对是多对多关系是最好的,添加一个through模型来记录喜欢的创建时间并能够独立于用户显示它们(如活动流)例如(未测试)确实可能很有用

    class MyUser(User):
        ...
        likers = models.ManyToManyField('self', through='Like', 
                                       symmetrical=False, 
                                       related_name='liked_users')
        ...

    class Like(models.Model):
        liker = models.ForeignKey(MyUser, related_name='likes_given')
        liked_user = models.ForeignKey(MyUser, related_name='likes_received')
        ...

您可能会发现这个有用的http://charlesleifer.com/blog/self-referencing-many-many-through/

于 2012-10-28T19:11:33.160 回答
0

不,您想要的是多对一关系:https ://docs.djangoproject.com/en/dev/topics/db/models/#many-to-one-relationships

于 2012-10-28T18:41:21.940 回答