我正在创建一个使用Django REST Framework的/ signup系统之后的事件,并且无法弄清楚如何正确设置它。
在我的活动模型中,我有:
followers = models.ManyToManyField(get_user_model(), related_name='following')
理想情况下,经过身份验证的用户可以使用POST或PATCH在给定事件的关注者记录中添加或删除自己。虽然我不确定最好的方法是什么。
我目前的想法是创建一个仅公开关注者字段的序列化程序,然后使用该序列化程序创建一个APIView,并在get和post / patch方法中登录以添加或删除特定用户。
我觉得这会让事情变得过于复杂。有更简单的方法吗?
答案 0 :(得分:2)
您对使用“通过”模型进行M2M关系有何看法?
我的意思是:
class Follower(...:
user = FK user
event = FK event
...
followers = models.ManyToManyField(get_user_model(), through=Follower ...)
...
在这种情况下,您可以快速创建模型序列化程序和模型Follower的通用视图。为了向用户添加或删除用户,您只需向此资源发送POST或DELETE请求