django - 关注/关注系统 Django - 如何检查用户是否已经关注
问题描述
尝试使用Django
. 该模型似乎正在运行,但我在尝试在我的view
.
这是视图:
class FollowView(View):
model = UserRelationships
def get(self, request, username=None):
user = self.request.user
viewed_user = User.objects.get(username=username)
if user not in viewed_user.followers.all():
UserRelationships.objects.create(user_id=user, following_user_id=viewed_user)
data = {}
return HttpResponse(data)
此时,每次我点击“关注”按钮时都会创建一个新对象,无论用户是否已经关注。
这是UserRelationships
model
:
class UserRelationships(models.Model):
user_id = models.ForeignKey(User, on_delete=models.CASCADE, related_name="following")
following_user_id = models.ForeignKey(User, on_delete=models.CASCADE, related_name="followers")
created = models.DateTimeField(auto_now_add=True)
以及两个相关的 URL(基本和特定应用):
path('accounts/<username>/', include('accounts.urls'))
path('follow/', FollowView.as_view(), name='follow')
然后我通过HTML
按钮的模板标签传入当前用户的用户名。
知道我在这里做错了什么吗?
非常感激!
解决方案
推荐阅读
- python - 标签和列表视图未显示在小部件上
- python - 在 Google Colab 上运行 autokeras 图像分类器教程时出错
- swift - macCatalyst 应用程序:如何在不终止应用程序的情况下关闭窗口?
- oracle - Oracle DB with .NET Core Using ODP.Net Provider - 如何设置架构
- javascript - pouchDB 和按日期或日期范围查询
- microsoft-graph-api - Microsoft Graph 查询中的不同值
- java - Android 动画布局和视图
- javascript - momentjs 时间显示语言环境
- amazon-web-services - AWS 上的 Ejabberd MQTT 无法启动:未定义退出,原因为 {'EXIT',{undef,[{mod_mqtt,socket_type,[],[]}
- php - Laravel - 分页和排序不工作