django - 如何在 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 是必须添加用户的团队
解决方案
推荐阅读
- reactjs - web3 订阅事件触发两次
- python - 如何在 Python 中广播列表?
- azure-synapse - 如何通过 Synapse 的 Spark 池将数据帧数据附加到专用的 SQL 池中?
- thymeleaf - 如何将身份验证原则值设置为变量
- javascript - 等待最后一个 ajax 请求在复杂链中解析
- mysql - 为什么我需要为 MySQL 8 禁用“foreign_key_checks”才能在添加外键时使用 INPLACE 算法?
- mysql - mysql 问题:在 Apple Silicon M1 mini 上升级到 Mac OS X 11.6 后,无法连接
- powershell - 编写一个 power shell 脚本来维护最新的 5 个版本并删除目录中的所有其他时间戳版本
- java - 如何使用 LdapTemplate 通过 memberOf 搜索 LDAP 实体
- maven - Maven 依赖项仅限于私有存储库