【发布时间】:2020-05-21 07:40:26
【问题描述】:
我有以下:
我正在使用基于 DRF 的 JWT 令牌。
我想将一个实验与一个用户相关联,即当一个帖子请求到达时,我希望能够将该帖子请求与发送请求的用户所需的作者所需的 Foreginkey 一起保存。
POST 请求始终经过身份验证,从不匿名,即request.user 始终存在(调试时可以看到)
我尝试添加以下内容
def create(self, request, **kwargs):
request.data["author"] = request.user
serializer = ExperimentsSerializers(data=request.data)
if serializer.is_valid():
serializer.save()
return....
但is_valid 总是返回 False (唯一一次 ts 为真,是我从 ExperimentsSerializers 字段中取出作者时......
会为任何潜在客户感到高兴....
我的代码附在下面
Model.py:
class User(AbstractUser):
pass
def __str__(self):
return self.username
class Experiments(models.Model):
name = models.CharField(max_length=40)
time = models.DateTimeField(default=timezone.now)
author = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE)
View.py:
filter_backends = [DjangoFilterBackend, filters.OrderingFilter]
serializer_class = ExperimentsSerializers
queryset = Experiments.objects.all()
filterset_fields = '__all__'
permission_classes = (permissions.IsAuthenticated,)
serializers.py
class ExperimentsSerializers(serializers.ModelSerializer):
class Meta:
model = models.Experiments
fields = '__all__'
【问题讨论】:
标签: python django django-models django-rest-framework django-views