在 Django 中创建对象
本文解释了什么是模型以及如何使用 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()
方法才能创建新对象。
让我们通过编写以下命令来创建一个新对象。
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()
方法创建一个对象来保存它。
我们在上面的代码中定义了 product_id,所以现在我们可以使用它的 ID 访问产品。 在 product_id 中,我们将 primary_key 设置为 True。
save()
方法适用于两种情况,这意味着如果给定的 product_id 已存在于数据库中,则该对象将使用不同的字段值进行更新。
如果 save()
方法没有在 product_id 中找到设置为 True 的 primary_key 属性,或者数据库中不存在给定的 ID,则会产生错误。 使用 Product.objects.create()
,我们只能插入新对象。
相关文章
Django 中的 Slug
发布时间:2023/05/04 浏览次数:173 分类:Python
-
本篇文章旨在定义一个 slug 以及我们如何使用 slug 字段在 Python 中使用 Django 获得独特的帖子。
在 Django 中按降序过滤查询集中的项目
发布时间:2023/05/04 浏览次数:157 分类:Python
-
在这个讲解中,学习如何借助 Django 中的 order_by() 方法按降序过滤出查询集中的项目。
Django ALLOWED_HOSTS 介绍
发布时间:2023/05/04 浏览次数:181 分类:Python
-
本文展示了如何创建您的 Django 网站,为公开发布做好准备,如何设置 ALLOWED_HOSTS 以及如何在使用 Django 进行 Web 部署期间修复预期的主要问题。
Django 中的 Select_related 方法
发布时间:2023/05/04 浏览次数:129 分类:Python
-
本文介绍了什么是查询集,如何处理这些查询以及我们如何利用 select_related() 方法来过滤 Django 中相关模型的查询。
使用 Post 请求将数据发送到 Django 服务器
发布时间:2023/05/04 浏览次数:159 分类:Python
-
在这篇关于Django的讲解中,我们简要介绍了post和get请求以及如何在Django中用post实现CSRF token。
Django 返回 JSON
发布时间:2023/05/04 浏览次数:106 分类:Python
-
在与我们的讨论中,我们简要介绍了 JSON 格式,并讨论了如何借助 Django 中的 JsonResponse 类将数据返回为 JSON 格式。
在 Django 中为多项选择创建字段
发布时间:2023/05/04 浏览次数:75 分类:Python
-
在本文中,我们将着眼于为多项选择创建一个字段,并向您展示如何允许用户在 Django 中进行多项选择。
避免在 Django 中创建重复对象
发布时间:2023/05/04 浏览次数:71 分类:Python
-
本文的主要目的是了解 Django 中的 get_or_create() 方法。 它是一种用于避免查询集中出现冗余字段的方法。