i have a endpoint in django-rest-framework and receive a object name and date.
I need include user (fk_model_user) in object before save my database, how save or update including new item in body request?
- Viewset:
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
- Serializer:
class StyleSerializer(ModelSerializer):
class Meta:
model = MusicStyleModel
fields = ('id', 'name', 'date', 'user')
- Model:
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
)
Example - Post Request:
{
"name": "test",
"date": "2021-05-14T15:47:06.794639-03:00"
}
Example - Post Response:
{
"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