我在django rest框架中有一个端点,并收到一个对象name和date
在保存数据库之前,我需要在对象中包含用户(fk_model_user),如何在正文请求中保存或更新包含新项目
class MusicStylesViewSet(
mixins.ListModelMixin,
mixins.CreateModelMixin,
mixins.UpdateModelMixin,
mixins.DestroyModelMixin,
mixins.RetrieveModelMixin,
viewsets.GenericViewSet
):
permission_classes = [permissions.AllowAny]
queryset = MusicStyleModel.objects.all()
serializer_class = StyleSerializer
class StyleSerializer(ModelSerializer):
class Meta:
model = MusicStyleModel
fields = ('id', 'name', 'date', 'user')
class MusicStyleModel(models.Model):
id = models.UUIDField(primary_key=True, unique=True, default=uuid.uuid4, editable=False, null=False)
name = models.CharField(max_length=150, null=False, blank=False)
date = models.DateTimeField(null=False, blank=False)
user = models.ForeignKey(
CustomUser,
null=True,
blank=False,
on_delete=models.CASCADE
)
示例-发布请求:
{
"name": "test",
"date": "2021-05-14T15:47:06.794639-03:00"
}
示例-回复后:
{
"id": "810ae929-2f6d-411a-8d10-77c8f613a8ac",
"name": "test",
"date": "2021-05-14T15:47:06.794639-03:00",
"user": "c6fbbfee-2f16-49f3-b4cd-b99e05a66ea8"
}
"id": "810ae929-2f6d-411a-8d10-77c8f613a8ac", automatically generated in the model
"user": "c6fbbfee-2f16-49f3-b4cd-b99e05a66ea8" user id request intercepted, and save
我设法用create解决了这个问题:
如果要使用所有这些混音,最好使用ModelViewSet'
相关问题 更多 >
编程相关推荐