Добавить данные в поле modelserializer на основе запроса - PullRequest
0 голосов
/ 04 октября 2019

В основном я ищу автоматическое заполнение двух полей created_by и last_modified_by на основе фиксированного значения.

class SupportingAttachment(models.Model):
    order = models.ForeignKey(Order,null = True,blank = True)
    file = models.FileField(upload_to= upload_supporting_attachment, null=True, blank=True)
    created_by = models.ForeignKey(User,blank = True,related_name = 'support_created_by')
    created = models.DateTimeField(auto_now_add=True)
    last_modified_by = models.ForeignKey(User,blank = True,related_name = 'support_modified_by')
    last_modified = models.DateTimeField(auto_now=True)

На данный момент, как временное решение, янаписание ручного сериализатора и добавление данных путем переопределения функции validate и вызова create.

 def validate(self, attrs):
        userid = self.context['request'].user.id
        x = attrs.update({"created_by": userid, "last_modified_by": userid})
        return attrs

Я хочу сделать это в ModelSerializer без указания полей вручную. Я предполагаю, что мне нужно переопределить одну из функций ModelViewSet или CreateAPIView

Итак, какую функцию я переопределяю на слое View, чтобы установить user_id для двух полей и передать егок сериализатору? И это правильный способ сделать это?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...