练习 - 管理数据

已完成

如前所述,管理站点默认情况下不提供对数据的访问权限。 幸运的是,只需几行代码即可注册你希望通过该工具编辑的任何模型。

注册模型

  1. 打开 dog_shelters/admin.py。

  2. 在注释 # Register your models here. 的下方,添加以下代码以注册模型。

    # Register your models here.
    from .models import Shelter, Dog
    
    admin.site.register(Shelter)
    admin.site.register(Dog)
    
  3. 保存该文件。

  4. 返回到浏览器并刷新页面。

    注意,“DOG_SHELTERS”下面列出了“狗”和“收容所”。

    Screenshot showing the Site administration screen.

访问我们的数据

注册模型后,我们现在可以管理数据。 如果数据库中已有数据,可以根据需要进行修改。

在我们的数据模型(可通过打开 models.py 浏览)中,我们有 ShelterDog。 一个 Shelter 包含多个 Dogs 以创建模型之间的关系。

让我们创建一个新的 Dog 来探索管理站点如何处理数据。

  1. 选择“狗”旁边的“添加”。

    Screenshot showing the Add shelter screen.

    请注意,当你选择“收容所”的下拉列表时,系统不会列出收容所,因为我们尚未创建收容所。

    备注

    如果要继续之前开始的项目,可能会看到一个收容所(如果已创建)。

    下拉列表的存在是为了让我们可以选择将狗注册到的收容所。 可以通过选择加号 (+) 来创建一个新的收容所。

  2. 选择加号 (+)。

    此时会打开一个新窗口,可以在其中创建收容所。

    Screenshot showing an Add shelter screen.

  3. 为收容所输入名称和位置,如 Contoso 和华盛顿州雷德蒙德。

  4. 选择“保存”。

    屏幕将更新,并显示新创建的收容所作为为狗选择的选项。

  5. 为狗输入名称和描述。

  6. 选择“保存”。

    屏幕将返回到狗的列表,并显示新创建的狗的信息。

    Screenshot showing a list of dogs.

  7. 如果选择狗,你将转到详细信息页,你可以在其中更新任何值或删除该条目。

    备注

    如果转到管理站点的“收容所”部分,屏幕将显示狗或收容所的名称。 显示此信息是因为我们在对象上设置了 __str__ 方法。 任何对象的默认显示为 __str__ 返回的值。