首页 > 解决方案 > 如何在 django(rest 框架)中向用户添加项目

问题描述

我有一个 Teammodel 和一个 Usermodel。每个用户都可以属于一个或多个团队。使用团队创建用户工作正常。但我想将现有用户添加到现有团队。我尝试了几个选项,但对于每个选项,我都会收到错误消息。

模型:

class Teams(models.Model):

   name = models.CharField(max_length=20)
   file = models.FileField(upload_to='team_icons', null='True', blank='True')
   members = models.ManyToManyField(User, related_name='member')

   def __str__(self):
     return self.name

**The Serializers:**

class UserSerializer(serializers.ModelSerializer):

     member = serializers.PrimaryKeyRelatedField(many=True, queryset=Teams.objects.all())

class Meta:
    model = User
    fields =['id', 'username', 'owner', 'password', 'todos','member', 'email', 'first_name', 
    'last_name',]

风景

类 AddUserToTeam(generics.RetrieveUpdateDestroyAPIView):

queryset = models.User.objects.all()
serializer_class = serializers.UserSerializer
permission_classes = [permissions.AllowAny]

所以我想要:user.member.add(x), x 是必须添加用户的团队

标签: django

解决方案


推荐阅读