django - 使用 django rest 框架代替 django orm 的最佳方式

标签 django api rest django-rest-framework

我正在使用 django-rest-framework用于我的 webapp 的 api。用 django rest 框架代替 default ORM provided by django 好不好? ?我引用了这个post仍然很困惑。由于 drf-api 需要创建类,我认为最好使用该代码来处理对象,因为我可以重用代码。

网址.py

router = routers.DefaultRouter()
router.register(r'users', views.UserViewSet)

View .py
class UserViewSet(viewsets.ModelViewSet):
    """
    API endpoint that allows users to be viewed or edited.
    """
    queryset = User.objects.all()
    serializer_class = UserSerializer

序列化程序.py
class UserSerializer(serializers.HyperlinkedModelSerializer):

    class Meta:
        model = User
        fields = ('url', 'username', 'email', 'groups')

我如何处理对象 crud进入 views.py使用 Django 休息框架?

最佳答案

这里有两层:ModelModel Serializer ; Model作为底层。

  • 当您需要与 Django 应用程序中的数据库进行交互时,您应该使用 Model .
  • 当您需要从客户端与数据库进行交互时,您可以...
  • 答:创建 view它以传统的方式在服务器端呈现内容,然后发回 POST从客户端请求 View ,如果你想编辑(即 django-forms ),或者...
  • 乙:设置 REST API允许您通过 AJAX 获取和更新您的数据库内容要求。这是 API 的目的.
  • 如果您有任何逻辑必须运行,无论您是否正在处理 ModelModel Serializer ,那么它应该在底层实现,即Model .

  • 我们今天经常使用 API 的原因尽管我们没有构建外部应用程序,但它允许更具交互性和更快的用户界面。
    当今最流行的前端框架(例如 angularjs )都是围绕使用 API 的概念构建的。 .

    关于django - 使用 django rest 框架代替 django orm 的最佳方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32086928/

    相关文章:

    python - 过滤 Django ManyToMany 字段中的初始数据

    python - 尝试在 django 中执行表单时,int() 参数必须是字符串

    json - 如何从rest_framework序列化器获得漂亮的输出

    c - 在 SQLite C API 中使用 sqlite3_data_count() 而不是 sqlite3_column_count() 有什么好处?

    php - Phil Sturgeons php codeigniter rest api 中的方法特定身份验证

    api - 定义状态码

    python - 使用python Django测试ldap连接

    rest - 通过 Powershell 中的 REST API 调用下载 ZIP 内容

    php - laravel-> 选择更改,提交给 Controller show

    php - 如何使用 php 在 Amazon api 中访问超过 10 个项目的详细信息?