【问题标题】:django rest framework processdjango rest框架流程
【发布时间】:2020-11-06 19:56:18
【问题描述】:

我开始使用 Django Rest Framework,但我对 DRF 的工作方式感到困惑。 URL -> 分配的视图集 -> 数据库 -> DJANGO ORM -> 模型 -> 视图 -> 输出 但是序列化程序在哪里执行?我知道它将 DATABASE 对象转换为 JSON,但我不知道何时调用序列化程序。

【问题讨论】:

    标签: django django-rest-framework


    【解决方案1】:

    只是为了仔细检查你是否知道这一点:Serializer 类序列化了一个对象实例。假设我有这个对象:

    from datetime import datetime
    
    class Comment(object):
        def __init__(self, email, content, created=None):
            self.email = email
            self.content = content
            self.created = created or datetime.now()
    
    # Remember to instantiate
    comment = Comment(email='leila@example.com', content='foo bar')
    

    然后serializer 会将其转换为

    {'email': 'leila@example.com', 'content': 'foo bar', 'created': '2016-01-27T15:17:10.375877'}
    

    那么什么时候会调用它? 无论何时何地+任何时候你创建了一个属于这个类的对象(例如视图、表单、后端句柄等),序列化器都会被执行,尽管你有像serializer = CommentSerializer(comment)这样单独调用序列化器。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-08-10
      • 1970-01-01
      • 1970-01-01
      • 2015-10-19
      • 2017-11-09
      相关资源
      最近更新 更多