迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 编程语言 > Python >

在 Django 中创建对象

作者:迹忆客 最近更新:2023/05/04 浏览次数:

本文解释了什么是模型以及如何使用 create() 方法创建对象。 我们将看到如何在 Django 中使用 save() 方法。


使用 Django 中的 create() 方法创建对象

Django 中的模型是表示数据库中单个表的类。 我们可以让我们的应用程序中的每种类型的数据都由其模型表示。

然后每个模型映射到数据库中的单个表。

例如,如果我们有四个模型、文章、用户、作者和书籍,那么数据库中就有四个表。 单个模型映射每个表。

让我们看看如何在数据库中创建模型的对象。

我们将使用 Python shell 创建新对象。 我们需要使用管理员来确保我们处于 Django 项目的根目录。

ls

输出:

db.sqlite3    manage.py    products    trydjango

现在,我们要运行另一个命令。 因此,当我们运行此命令时,所有 Django 项目的内容都将在 Python 解释器中运行。

当我们按下 Enter 时,我们将看到一个普通的 Python 解释器,但这不是因为我们可以运行以下命令。

python manage.py shell

我们已经从 models.py 文件中导入了 Product 模型。 如果我们按 Enter,我们可以在当前 shell 中使用我们的 Product 模型。

from products.models import Product

我们有内置的 Django 命令来从定义的模型中检索所有对象。

Product.objects.all()

现在,我们可以看到只有一项,那是因为我们只保存了一项。

<QuerySet[<Product: Product object (1)>]>

如果我们想看到更多的对象,我们只需要使用下面的命令创建更多的对象。

Product.objects.create()

假设我们的 Product 模型有四个字段。 这四个字段必须传入 create() 方法才能创建新对象。

Django 创建对象 - 示例 1

让我们通过编写以下命令来创建一个新对象。

Product.objects.create(title="New product",description="Another one", price=1222,summary="The best product")

写完这条命令后,当我们按下回车键时,它会创建一个新对象。

<Product: Product object (2)>

所以现在,如果我们尝试检索所有对象,我们将看到另一个新创建的项目。

Product.objects.all()

现在,我们可以看到查询列表的第二项。

<QuerySet[<Product: Product object (1)>,<Product: Product object (2)>]>

当我们转到管理面板时,我们将在那里看到新对象。

现在,我们将看看如何使用 save() 方法。 假设我们有如下代码,我们需要保存定义模型的所有字段。

我们需要传递模型类中的所有字段,并使用 save() 方法创建一个对象来保存它。

Django 创建对象 - 示例 2

我们在上面的代码中定义了 product_id,所以现在我们可以使用它的 ID 访问产品。 在 product_id 中,我们将 primary_key 设置为 True。

save() 方法适用于两种情况,这意味着如果给定的 product_id 已存在于数据库中,则该对象将使用不同的字段值进行更新。

如果 save() 方法没有在 product_id 中找到设置为 True 的 primary_key 属性,或者数据库中不存在给定的 ID,则会产生错误。 使用 Product.objects.create(),我们只能插入新对象。

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

Pandas read_csv()函数

发布时间:2024/04/24 浏览次数:254 分类:Python

Pandas read_csv()函数将指定的逗号分隔值(csv)文件读取到 DataFrame 中。

Pandas 追加数据到 CSV 中

发布时间:2024/04/24 浏览次数:352 分类:Python

本教程演示了如何在追加模式下使用 to_csv()向现有的 CSV 文件添加数据。

Pandas 多列合并

发布时间:2024/04/24 浏览次数:628 分类:Python

本教程介绍了如何在 Pandas 中使用 DataFrame.merge()方法合并两个 DataFrames。

Pandas loc vs iloc

发布时间:2024/04/24 浏览次数:837 分类:Python

本教程介绍了如何使用 Python 中的 loc 和 iloc 从 Pandas DataFrame 中过滤数据。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便