首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

更改基于django类的视图查找的默认模型字段名称

更改基于Django类的视图查找的默认模型字段名称可以通过以下步骤实现:

  1. 在Django中,基于类的视图使用DetailViewListView等视图类来处理模型数据。这些视图类默认使用模型的主键字段作为查找字段。
  2. 如果需要更改默认的模型字段名称,可以在模型类中定义get_absolute_url()方法,并在该方法中返回自定义的URL。
  3. 首先,在模型类中导入reverse函数:from django.urls import reverse
  4. 然后,在模型类中定义get_absolute_url()方法,并在该方法中使用reverse函数来生成自定义的URL。例如,如果要将模型字段更改为slug,可以按以下方式定义get_absolute_url()方法:
代码语言:python
代码运行次数:0
复制
def get_absolute_url(self):
    return reverse('app_name:detail_view_name', args=[self.slug])

其中,app_name是应用程序的名称,detail_view_name是用于显示模型详细信息的视图的名称。

  1. 最后,在模板中使用{{ object.get_absolute_url }}来获取自定义的URL。例如,可以在模板中使用以下代码来创建链接:
代码语言:html
复制
<a href="{{ object.get_absolute_url }}">{{ object }}</a>

这样就可以更改基于Django类的视图查找的默认模型字段名称了。

推荐的腾讯云相关产品和产品介绍链接地址:

  • 腾讯云服务器(CVM):提供可扩展的云服务器实例,适用于各种规模的应用程序和工作负载。详情请参考:腾讯云服务器
  • 腾讯云数据库(TencentDB):提供高性能、可扩展的数据库解决方案,包括云数据库MySQL、云数据库Redis等。详情请参考:腾讯云数据库
  • 腾讯云对象存储(COS):提供安全、可靠的云存储服务,适用于存储和处理各种类型的数据。详情请参考:腾讯云对象存储

请注意,以上链接仅供参考,具体产品选择应根据实际需求进行评估和决策。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • django 1.8 官方文档翻译: 3-4-1 基于视图

    基于视图 视图是一个可调用对象,它接收一个请求然后返回一个响应。这个可调用对象可以不只是函数,Django 提供一些可以用作视图。它们允许你结构化你视图并且利用继承和混合重用代码。...基于视图简介 内建基于通用视图 使用基于视图处理表单 使用混合来扩展视图 基本示例 Django 提供基本视图,它们适用于广泛应用。...Django 有一个通用视图TemplateView来做这件事,所以我们可以简单地子类化它,并覆盖模板名称: # some_app/views.py from django.views.generic...TemplateView是一个不是一个函数,所以我们将URL 指向as_view()方法,它让基于视图提供一个类似函数入口: # urls.py from django.conf.urls...,参考下一主题通用基于视图

    86430

    django 1.8 官方文档翻译: 3-4-5 内建基于视图API

    内建基于视图API 基于视图API 参考。另请参见基于视图 简介。...TodayArchiveView DateDetailView 基于视图Mixins Simple mixins ContextMixin TemplateResponseMixin Single...基于视图在URL 模式中部署使用as_view() 方法: urlpatterns = [ url(r'^view/$', MyView.as_view(size=42)), ] 视图参数线程安全性...参数必须对应于在中已经存在属性(hasattr 检查可以返回True)。 基础视图 VS. 通用视图 基于基础视图可以认为是父视图,它们可以直接使用或者继承它们。...它们不能满足项目中所有的需求,在这种情况下有Mixin 可以扩展基础视图功能。 Django 通用视图建立在基础视图之上,用于作为经常用到功能快捷方式,例如显示对象详细信息。

    85320

    Django 3.1 官网学习路线

    每个模型都有许多变量,每个变量表示模型一个数据库字段 每个字段都由 Field 实例表示-例如,CharField 用于字符字段,DateTimeField 用于日期时间。...这告诉 Django 每个字段保存什么类型数据。 每个 Field 实例名称(例如 question_text 或 pub_date)是该字段名称,采用机器友好格式。...可以对字段使用可选第一个位置参数来指定我们可读名称。它在 Django 几个内省部分中使用,同时也用作文档。如果没有提供这个字段Django 将使用机器可读名称。...在本例中,我们仅为 Question.pub_date 定义了一个人类可读名称。对于此模型所有其他字段,该字段机器可读名称将足以作为其人类可读名称。 一些 Field 具有必需参数。...投票行动-处理对特定问题中特定选择进行投票。 在 Django 中,Web 页面和其他内容是通过视图传递。每个视图都由一个 Python 函数(或方法,对于基于视图)表示。

    8.2K10

    37.Django1.11.6文档

    my_object = get_object_or_404(MyModel, pk=1)  2.基于视图 基于视图使用Python 对象实现视图,它提供除函数视图之外另外一种方式。...更多-->>http://usyiyi.cn/translate/Django_111/topics/class-based-views/mixins.html 4.装饰基于视图 基于视图扩展不仅仅局限于使用...由于基于视图不是函数,对它们装饰取决于你使用as_view() 还是创建一个子类。 (1)在URLconf中进行装饰 装饰基于视图最简单方法是装饰as_view() 方法结果。...(ModelForm 通过一个Form 映射模型字段到HTML 表单 元素;Django Admin 站点就是基于这个)。...基于这个原因,Django 提供一个辅助来让你可以从Django 模型创建Form。

    24.3K80

    后端框架学习-Django

    使用 Django,只要很少代码,Python 程序开发人员就可以轻松地完成一个正式网站所需要大部分内容,并进一步开发出全功能 Web 服务 Django 本身基于 MVC 模型,即 Model...b.如果涉及到数据调用,那么视图函数调用模型模型去数据库查找数据,然后逐级返回。 视图函数把返回数据填充到模板中空格中,最后返回网页给用户。...映射图: ORM———->DB ———->数据表 对象——–>数据行 属性——–>字段 数据库迁移: 迁移是Django同步您对模型所做出更改(添加字段,删除模型等)到您数据库模式方式。...名称+名称小写 模型-字段类型: BooleanField 数据库类型:tinyint(1) 编程语言中将使用True或False来表示值 在数据库中则使用0或1来表示具体值 Char...verbose_name:设置此字段在admin界面上显示名称,可以中文化admin界面 好习惯:字段选项【添加或更改】均要执行 模型-Meta内部类 使用Meta来给**模型(其实就是表属性)

    9.5K40

    django 1.8 官方文档翻译: 3-4-3 使用基于视图处理表单

    为了避免这点,Django 提供一系列通用基于视图用于表单处理。...form_valid()默认实现只是简单地重定向到success_url。 模型表单 通用视图在于模型一起工作时会真正光芒四射。...这些通用视图将自动创建一个ModelForm,只要它们能知道使用哪一个模型: 如果给出model属性,则使用该模型。 如果get_object() 返回一个对象,则使用该对象。...注意这里我们是如何配置通用基于视图;我们自己没有写任何逻辑: #views.py from django.views.generic.edit import CreateView, UpdateView...Changed in Django 1.8: 省略fields 属性在以前是允许,但是导致表单带有模型所有字段

    1.8K20

    【愚公系列】2022年04月 Python教学课程 74-DRF框架之过滤

    文章目录 一、普通过滤 1.针对当前用户进行筛选 2.针对网址进行筛选 3.针对查询参数进行筛选 二、通用过滤 1.全局设置 2.视图设置 3.简单过滤 4.搜索器过滤 4.1 多字段查找 4.2 多字段查找...4.3 嵌套查找 4.4 参数说明 4.5 自定义过滤器 一、普通过滤 REST 框架通用列表视图默认行为是返回模型管理器整个查询集。...category=clothing&in_stock=True 4.搜索器过滤 4.1 多字段查找 仅当视图具有属性集时,才会应用该类。...该属性应是模型上文本类型字段名称列表,例如 from rest_framework import filters class UserListView(generics.ListAPIView):...若要根据请求内容动态更改搜索字段,可以对 函数进行子类化并覆盖该函数。

    2.5K30

    django小技巧之html模板中调用对象属性或对象方法

    … ] … 在项目名称目录下,添加模板目录并在其下添加应用模板目录: ]# mkdir -p templates/bookshop 在主url路由配置文件中,添加查找应用url路由:...url(r’^$’,views.index,name=’index’), ] 以上基本配置完成,下面演示在模板中调用对象方法: 定义模型: 为了不用迁移,定义模型要和test2数据库结构一样...bpub_date = models.DateTimeField(db_column=’pub_date’) #定义字段名称为pub_date,默认字段名称就是类属性,即默认字段名称为bpub_date...#如果不写上面2行,表名默认为项目名称.名称,即bookshop.bookinfo class HeroInfo(models.Model): ???...您可能感兴趣文章: 简单了解Django模板使用 django模板语法学习之include示例详解 解决Django模板无法使用perms变量问题方法 基于Django模板中数字自增(详解) Django

    3.3K21

    python测试开发django-169.过滤器django-filter 入门使用

    ='icontains') class Meta: model = Product 过滤器有两个主要参数: field_name: 要过滤模型字段名称。...您可以使用 Django __语法遍历“关系路径”来过滤相关模型字段。 例如:manufacturer__name。 lookup_expr: 过滤时使用字段查找。...__可以再次使用Django 语法来支持查找转换。 例如:year__gte。 字段field_name和字段一起 lookup_expr 代表一个完整 Django 查找表达式。...中fields序列中项目Meta可能包括“关系路径”,使用 Django __语法过滤相关模型字段: class ProductFilter(django_filters.FilterSet)...,它可以覆盖默认过滤器使用相同类型所有车型领域 filter_overridesMeta: class ProductFilter(django_filters.FilterSet):

    2.2K20

    DRF框架中英文单词

    应该是美国人发明吧,毕竟美国计算机发展相当棒。序列化这个定义很很重要,给大家强调一下:在Django中,我们可以简单理解为将模型对象转化成字典或字符串这个过程。...20. model/'mɑdl/模型,我们在很多时候都用到了这个单词,在DRF框架我们在下面的情况中用到了这个单词。指明该序列化器处理数据字段模型BookInfo参考生成。...,指明该序列化器包含模型哪些字段,'all'指明包含所有字段。...,默认False write_only 表明该字段仅用于反序列化输入,默认False required 表明该字段在反序列化时必须输入,默认True default 序列化和反序列化时使用默认值 allow_null...表明该字段是否允许传入None,默认False validators 该字段使用验证器 error_messages 包含错误编号与错误信息字典 label 用于HTML展示API页面时,显示字段名称

    1.7K30

    Django】 开发:静态文件,应用和模型

    应用后台管理配置文件 apps.py 应用属性配置文件 models.py 与数据库相关模型映射文件 tests.py 应用单元测试文件 views.py 定义视图处理函数文件...一个模型代表数据库中一张数据表 模型中每一个类属性都代表数据库中一个字段。...迁移是 Django 同步您对模型所做更改(添加字段,删除模型等) 到您数据库模式方式 1.生成或更新迁移文件 ​ 将每个应用下 models.py 文件生成一个中间文件,并保存在 migrations...): 字段名 = models.字段类型(字段选项) 模型名是数据表名一部分,建议名首字母大写 字段名又是当前类属性名,此名称将作为数据表字段字段类型用来映射到数据表中字段类型...: 错误原因 当对模型新添加一个字段时可出现该错误 原理是 添加新字段后,数据库不知道原来已有数据对于新建字段该如何赋值,所以新增字段时,务必要添加 default 默认值。

    1.8K20

    Django内置通用视图及实例

    方法: get_queryset():获取此视图对象列表.必须是可迭代或者可以使查询集.默认返回queryset属性.可以通过重写该方法实现动态过滤.让这种方式能够工作关键点,在于当视图被调用时...参数,如果找到了这个参数,该方法使用这个参数值执行一个基于逐渐查询.如果这个参数没有找到,该方法查找slug_url_kwarg参数,使用slug_field字段执行针对slug查询.当query_pk_and_slug...(self.object) context_object_name:self.object也将存储在get_context_object_name()返回名称中,该名称默认模型小写名称. 3....属性: tamplate_name: form_class: fields:字段名称列表,其解释方式与ModelFormMeta.fields相同.如果你是自动生成表单,那么该属性不能省略. success_url...显示用于编辑现有对象表单视图,重新显示具有验证错误信息视图,并且保存对象.这里使用从对象模型自动生成表单(除非手动制定表单).

    2.9K40

    Django 1.10中文文档-第一个应用Part2-模型和管理站点

    每个模型由一个子类django.db.models.Model表示。每个模型都有一些变量,每个变量表示模型数据库字段。...您可以使用字段可选第一个位置参数来指定一个更通俗名称。这在Django一些内省部分中使用,它也可以作为文档。如果不提供此字段Django将使用机器可读名称。...在这个例子中,我们只为Question.pub_date定义了一个通俗名称。对于此模型所有其他字段,该字段机器可读名称将足以作为其通俗名称。 有些Field具有必需参数。...,已经对模型做了一些更改(在这个例子中,你创建了一个新模型)并且会将这些更改存储为迁移文件。...有关如何使用双下划线通过API执行字段查找更多信息,请参阅字段查找。有关数据库API完整详细信息,请参阅我们数据库API参考。

    2.3K60

    Django内置通用视图CBV及示例

    方法: get_queryset():获取此视图对象列表.必须是可迭代或者可以使查询集.默认返回queryset属性.可以通过重写该方法实现动态过滤.让这种方式能够工作关键点,在于当视图被调用时...参数,如果找到了这个参数,该方法使用这个参数值执行一个基于逐渐查询.如果这个参数没有找到,该方法查找slug_url_kwarg参数,使用slug_field字段执行针对slug查询.当query_pk_and_slug...(self.object) context_object_name:self.object也将存储在get_context_object_name()返回名称中,该名称默认模型小写名称. 3....属性: tamplate_name: form_class: fields:字段名称列表,其解释方式与ModelFormMeta.fields相同.如果你是自动生成表单,那么该属性不能省略. success_url...显示用于编辑现有对象表单视图,重新显示具有验证错误信息视图,并且保存对象.这里使用从对象模型自动生成表单(除非手动制定表单).

    3.2K10

    django模板之html模板中调用对

    #数据库为mysql,使用原来test2数据库名称: DATABASES = {     'default': {         'ENGINE': 'django.db.backends.mysql...在项目名称目录下,添加模板目录并在其下添加应用模板目录: ]# mkdir -p templates/bookshop 在主url路由配置文件中,添加查找应用url路由: ]# vim test4/...import views urlpatterns = [     url(r'\^$',views.index,name='index'), ] 以上基本配置完成,下面演示在模板中调用对象方法: 定义模型...: 为了不用迁移,定义模型要和test2数据库结构一样; ]# vim bookshop/models.py from django.db import models class BookInfo(...pub_date,默认字段名称就是类属性,即默认字段名称为bpub_date     bread = models.IntegerField()     bcommet = models.IntegerField

    4.4K10

    Django开发快速入门

    模型,我们在最上面一行从Django导入模型,然后创建一个扩展它Book。...由于我们创建了一个新数据库模型,因此我们需要创建一个迁移文件来进行处理。 指定应用名称是可选,但建议在此处使用。...在此视图文件中,Book模型与ListView一起使用以列出所有书籍。 最后一步是创建我们模板文件,以控制实际网页上布局。 我们已经在视图中将其名称指定为book_list.html。...其位置有两个选项:默认情况下,Django模板加载器将在以下位置books应用程序内查找模板:books / templates / books / book_list.html。...然后显示模型每个字段。 网页 现在,我们可以启动本地Django服务器并查看我们网页。

    2.3K41
    领券