【发布时间】:2021-02-18 06:49:36
【问题描述】:
我正在尝试为我的应用程序创建一个关注系统,当我认为它有效时,我意识到当账户 a 开始关注账户 b 时,账户 b 也开始关注账户 a
我的模型:
from django.contrib.auth.models import AbstractUser
from django.db import models
class User(AbstractUser):
followers = models.ManyToManyField('self', blank=True, related_name='followers')
following = models.ManyToManyField('self', blank=True, related_name='following')
class Post(models.Model):
author = models.ForeignKey(User, on_delete=models.CASCADE, related_name='p_author')
body = models.TextField(max_length=500)
time = models.TextField() #Added when creating object with the API
likes = models.IntegerField(default=0)
def serialize(self):
return {
'id': self.id,
'author': self.author.username,
'body': self.body,
'time': self.time,
'likes': self.likes
}
class Comment(models.Model):
post_commented = models.ForeignKey(Post, on_delete=models.CASCADE, related_name='c_post')
author = models.ForeignKey(User, on_delete=models.CASCADE, related_name='c_author')
body = models.TextField(max_length=500)
time = models.TextField() #Added when creating object with the API
likes = models.IntegerField(default=0)
处理跟随动作的视图(通过 JS fetch 调用):
ef follow(request, profile_name):
user_object = User.objects.get(username=profile_name)
if request.method == 'PUT':
print(request.user)
data = json.loads(request.body)
if data.get('follow') == True:
followers_set = user_object.followers
followers_set.add(request.user)
user_object.save()
return JsonResponse({'status': 'success'}, status=204)
我想我需要重组我的整个数据库和项目来修复这个错误,你建议我怎么做?
【问题讨论】:
标签: python django sqlite django-models