gpt4 book ai didi

python - Django 模型表输入

转载 作者:行者123 更新时间:2023-12-01 01:24:16 25 4
gpt4 key购买 nike

我正在尝试在当前项目中插入数据表。我想知道是否可以在一个特定的 Django 模型中插入一整张表。如果我让用户填写此表,如下例所示:

enter image description here

如何在 POST 后将该数据发送到我的模型中?

最佳答案

正如您在问题下的评论中所述,您的表具有固定字段,这些字段应与您已经准备好的数据库模型相对应 - 每个表列都是一个单独的模型属性。因此,您唯一需要做的就是将用户输入的每一行作为 JSON POST 请求中的单独条目发送,您的代码会将其转换为模型类实例并将其保存到数据库中。 POST 请求中发送的 JSON 可能如下所示:

{    
"table_entries": [
{
"sku": "22A",
"name": "2B",
"description": "2C",
"price": "2D",
"size": "2E"
},
{
"sku": "3A",
"name": "3B",
"description": "3C",
"price": "3D",
"size": "3E"
},
...
]
}

Django REST Framework (DRF)(一个用于构建 Web API 的工具包)很好地涵盖了您所要求的功能。一般管道将是:

  1. views.py中接收POST请求
  2. 使用模型 serializer您需要准备将请求数据转换为 Python 对象
  3. 将此对象保存到数据库中

因此 View 可能看起来像这样(基于 DRF views docs 中的示例):

from myapp.models import Table
from myapp.serializers import TableSerializer
from rest_framework.views import APIView
from rest_framework.response import Response


class TableView(APIView):
"""
Create a new entry in the Table.
"""

def post(self, request, format=None):
table_entries = request.data["table_entries"]
for entry in table_entries:
# serialize each row
serializer = TableSerializer(data=entry)
if serializer.is_valid():
# you can store the objects in some list and if the're all fine
# use serializer.save() for each of them to save them into the db
else:
# At least one of the entries data is corrupted. You probably want
# to reject the whole request
# ...

这是向您展示一般工作流程,因为问题相当广泛。要进一步了解细节,我强烈建议您查看 DRF 教程,因为它很好地涵盖了该主题。

关于python - Django 模型表输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53498862/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com