У меня есть следующее:
Я работаю с DRF на основе токена JWT. Я хочу связать эксперимент с ПОЛЬЗОВАТЕЛЕМ, т. Е. При поступлении почтового запроса я хочу иметь возможность сохранить этот почтовый запрос с помощью клавиши Foregin, необходимой для автора, отправившего запрос. 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
return всегда False (единственный раз, когда ts был истиной, был, когда я вынул автора из полей ExperimentSerializers ....
будет рад за любые выводы ....
мой код прикрепленный ниже
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,)
сериализаторы .py
class ExperimentsSerializers(serializers.ModelSerializer):
class Meta:
model = models.Experiments
fields = '__all__'