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

Django 1.10中文文档-第一个应用Part7-自定义管理站点

并且在字段数据很多时,还可以表单分割成多个字段的集合: # polls/admin.py from django.contrib import admin from .models import Question...添加关联对象 现在Question的管理页面有了,但是一个Question应该有多个Choices。此时管理页面并没有显示。现在有两个方法可以解决这个问题。...在这个表单中,Question字段是一个select选择框,包含了当前数据库中所有的Question实例。Djangoadmin站点中,自动地所有的关系展示一个select框。...在我们的例子中,目前只有一个question对象存在。 请注意图中的绿色加号,它连接到Question模型。每一个包含关系的对象都会有这个绿色加号。...填入相关信息点击保存后,Django自动将该Question保存在数据库,并作为当前Choice的关联对象。通俗讲就是,新建一个Question并作为当前Choice的

3.6K60
您找到你想要的搜索结果了吗?
是的
没有找到

使用Django实现把两个模型类的数据聚合在一起

Django中想要把模型类聚合得到想要的数据可以用F对象。 比如有模型类A和B,A和B之间有关联在一起,A是子表,B是父表(反过来没试过。。...Admin页面显示父表,编辑子表 默认情况下,ModelAdmin只允许您管理模型“本身”字段,不是相关模型.以下方法实现,在应用类的列表管理显示页面,显示父表的字段;在编辑页面,父表对子表进行编辑...models.Model): # 写一个方法,定义在管理页面上能够显示字段字段 # gradeStudents模型的检表,levelGrades模型的检表,那么Level模型的字段...添加的是'模型类字段' # 如果是需要遵循这样的语法:本表字段__(双下划线)检表字段检表的字段__最终表要显示字段。...子表(有所在的表) class ScoreInline(admin.TabularInline): # Score 必须是models.py中的模型名称,大小写必须要匹配.这个模型子表,以便可以被父表编辑

1.4K20

Django模型

表示小数位数 FloatField 浮点数 DateField 日期, 参数auto_now表示每次保存对象时,自动设置该字段当前时间,用于"最后一次修改"的时间戳,它总是使用当前日期,默认为False... 这个东西,通常都是在业务逻辑层面来实现的,不是在数据库中实现。但是通常大家学习的数据库课程中,都会有数据库设计范式,其中有个第三范式就是专指的约束。在这里只是简单的介绍一下。...二元组的第一个值会储存在数据库中,第二个值只会用于在表单中显示。对于一个模型实例,要获取该字段二元组中相对应的第二个值,使用 get_FOO_display() 方法。...它的常用值可以如下: CASCADE级联,删除主表数据时连通一起删除外表中数据 PROTECT保护,通过抛出ProtectedError异常,来阻止删除主表中被应用的数据 SET_NULL设置NULL...,此选项会抛出IntegrityError异常 注意:我们在数据库中,设置的时候需要制定另一张表中关联的字段,但是在Django里并没有指定。

1.9K20

Django 3.1 官网学习路线

我们很快看到,它不仅用于数据库架构,而且用于验证。 字段还可以有各种可选参数;在本例中,我们投票的默认值设置 0。 最后,请注意使用定义了关系。...按照惯例,Django 会将"_id"附加到外字段名。(是的,你也可以重写这个。) 关系是通过约束来显式的。...“添加选择”表单如下所示: 在该表单中,“Question”字段是一个选择框,包含数据库中的每个问题。Django 知道一个应该在管理中表示一个框。在我们的例子中,目前只存在一个问题。...默认情况下, 3 个选项提供足够的字段。” 加载“添加问题”页面,看看是什么样子: 不过有一个小问题。它需要大量的屏幕空间来显示用于输入相关选择对象的所有字段。...使用表格内联(不是 StackedInline),相关对象将以更紧凑的、基于表格的格式显示: 自定义管理员更改列表 现在问题管理页面看起来不错了,让我们对“更改列表”页面做一些调整——这个页面显示系统中的所有问题

8.1K10

django 模型中的计算字段实例

verbose_name='姓') given_name = models.CharField(max_length=20, verbose_name='名') def name(self): # 计算字段显示在修改页面中只能定义在只读字段中...= '全名' # 用于显示时的名字 , 没有这个,字段标题显示'name' def __str__(self): return "%s %s " % (self.family_name,..., 没有这个,字段标题显示'name' readonly_fields = ('name',) admin.site.register(Person, PersonAdmin) 补充知识:django...如何在 search_fields 中包含字段 在search_fields中加入一个的名字是不能查询的,要写成(键名__中的字段名)的形式. search_fields = ('attributename...','goodsclass__cn') # goodsclass__cn 就可以搜索的名字中有搜索词的条目了, # 比如搜索手机的分辨率,不是电脑的分辨率,就可以搜索'手机 分辨率' 以上这篇django

4.4K20

35.Django2.0文档

相对列表来说,有些时候我们更需要获取单个的对象, `` get()`` 方法就是在此时使用的: ? 这样,就返回了单个对象不是列表(更准确的说,QuerySet)。...请注意,date_hierarchy接受的是* 字符串* ,不是元组。因为只能对一个日期型字段进行层次划分。  ...filter_horizontal和filter_vertical选项只能用在多对多字段上, 不能用于ForeignKey字段。 默认地,管理工具使用`` 下拉框`` 来展现`` `` 字段。...它是一个包含字段名称的元组,它包含的字段将被展现成`` 文本框`` ,不再是`` 下拉框`` 。...例如,你可以给一个用户添加和修改publishers的权限,不给他删除的权限。 请注意,这些权限是定义在模块级别上,不是对象级别上的。

11.3K100

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

(你也可以重写这个行为); 按照惯例,Django会在外字段名后面添加 "_id"。(你依然可以重写这个行为); 关系由FOREIGN KEY约束显式声明。...不用在意DEFERRABLE部分;它只是告诉PostgreSQL直到事务的最后再执行关联; 这些SQL语句是针对你所使用的数据库定制的,所以会为你自动处理某些数据库所特有的字段例如auto_increment...让我们来修复这个问题,让Django在打印对象显示一些我们指定的信息。...它就是我们先前创建的一个question,并且通过str方法的帮助,显示了较为直观的信息,不是一个冷冰冰的对象类型名称。 ? 点击What’s up?进入编辑界面: ?...你看到一个页面,列出了通过Django管理界面对此对象所做的全部更改的清单,包含有时间戳和修改人的姓名等信息: ? 到此,你对模型API和admin站点有了一定的熟悉,可以进入下一阶段的教程了。

2.3K60

Django3.2边学边记—Adimn站点管理

(Test)class TestAdmin(admin.ModelAdmin):    pass 页大小 每页中显示多少条数据,默认为每页显示100条数据,设置20 12 class TestAdmin...控制显示的列,Django 会尝试按照这个顺序解释 list_display 的每个元素: 一个模型的字段。 一个可调用对象。 一个代表 ModelAdmin 属性的字符串。...None,一个空字符串,或者一个没有元素的可迭代字段Django 显示 - (破折号)。   ...过滤器 用 list_filter 来激活管理更改列表页面右侧侧栏的过滤器,如下截图所示: list_filter 应是一个列表或元组,参数字段可以是模型字段,包括字段(注意list_display...是不能直接接收字段的),会将对应字段的值列出来,一般用于快速过滤有重复值的字段

1.3K30

关于“Python”的核心知识点整理大全59

下面来修改模型Topic,在其中添加一个关联到用户的。这样做后,我们必须对数据库 进行迁移。最后,我们必须对有些视图进行修改,使其只显示与当前登录的用户相关联的数据。 1....中的模型User,然后在Topic中添加了字段owner,它建 立到模型User的关系。...在2处的输出中,Django指出我们试图给既有 模型Topic添加一个必不可少(不可为空)的字段字段没有默认值。...所有既有主题都关联到管理用户ll_admin,我输入了用户ID值1(见6)。并非必须使用 超级用户,可使用已创建的任何用户的ID。...正如你看到的,现在每个主题都属于用户ll_admin。 注意 你可以重置数据库不是迁移它,但如果这样做,既有的数据都将丢失。一种不错的做 法是,学习如何在迁移数据库的同时确保用户数据的完整性。

11510

37.Django1.11.6文档

我们建议您将此标志设置False不是删除帐户;这样,如果您的应用程序对用户有任何,则不会中断。 它不是用来控制用户是否能够登录。 ...如果该字段True 或NullBooleanField,Django显示漂亮的"on"或"off"图标不是BooleanField 或False。...例如,如果所有者可以拥有多个汽车,并且汽车可以属于多个所有者 - 多对多关系,则您可以过滤Car字段,仅显示由User: class MyModelAdmin(admin.ModelAdmin):...这是因为,就管理而言,through只是一个具有两个字段不是多对多关系的模型。 在所有其他方面,InlineModelAdmin与任何其他方面完全相同。 ...会话对象指南 在request.session 上使用普通的Python 字符串作为字典的。 这主要是为了方便不是一条必须遵守的规则。

24.2K80

Django项目知识点(三)

Django自动每个设置了admin对象创建添加,删除和修改的权限。...DateTimeField.auto_now_add 这个参数的默认值也False,设置True时,会在model对象第一次被创建时,字段的值设置创建时的时间,以后修改对象时,字段的值不会再更新...null 如果是True,Django会在数据库中将此字段的值置NULL,默认值是False blank 如果True时djangoAdmin 中添加数据时可允许空值,可以不填。...default 默认值 verbose_name   Admin字段显示名称,如果不设置该参数时,则与属性名。...SET_NULL:此值设置,会把设置null,前提是允许null。 SET_DEFAULT:此值设置,会把设置的默认值。 SET():此值设置,会调用外面的值,可以是一个函数。

1.8K30

Django中ORM操作

1、无需连表查询性能低,省硬盘空间(选项不固定时用) 2、在modle文件里不能动态增加(选项一成不变用Django的choice) 其他字段 db_index = True 表示设置索引 unique...") 注意对象集合调用values(),正向查询是字段__XX,反向是小写表名__YY看起来比较容易混淆; books=models.Publish.objects.filter(name..., Foreign_Key字段在哪张表就可以哪张表使用Foreign_Key字段连表,反之没有Foreign_Key字段就使用与其关联的 小写表名; 1对多:对象..关联表字段,values(字段...__关联表字段) 多对多:字段.all() 反向连表操作总结: 通过value、value_list、fifter 方式反向跨表:小写表名__关联表字段 通过对象的形式反向跨表:小写表名...().first() result = obj.userinfo_set.all() [userinfo对象,userinfo对象,] 小写的表名 得到有关系的列 #因为使用values取值取得是字典的不是对象

4.7K10

【云+社区年度正文】Django从入门到精通No.2----模型

1.多对一 因为是关联关系,所以我们必须指定两个类来进行相互操作,这里涉及到一个的操作,即ForeignKey字段,而且要定义在多的一方。...与之关联的值设置可执行对象的返回值,设置:models.SET(可执行对象) related_name=None # 反向操作时,使用的字段名,用于代替表名_set related_query_name...db_constraint=True # 是否在数据库中创建约束 parent_link=False # 在Admin中是否显示关联数据 2.多对多 多对多的表...,必须设中间关联表,关联表设独立主键,并引入两个“多”头的表的主键作为关联表的。...六、总结 以上就是django所有的关于模型的概念了,接下来小编通过与数据库交互来带着大家一起操作表。

2.1K00

Django 学习笔记之模型高级用法(上)

2.1 ForeignKey 1) on_delete 在 Django 2.0 中,设置时需要添加一个 on_delete选项。本身涉及到两个表的数据,况且在数据库中是有约束行为。...SET_NULL: 置空模式,删除的时候,字段被设置空,前提就是`blank=True, null=True`,定义该字段的时候,允许空。...SET_DEFAULT: 置默认值,删除的时候,字段设置默认值,所以定义的时候注意加上一个默认值。 SET(): 自定义对应的实体的值。...2)limit_choices_to 该参数用于限制所能关联的对象,只能用于 Django 的 ModelForm(Django的表单模块)和 admin 后台,对其它场合无限制功能。...如果设为 False,那么无法保证数据的完整性和合法性。 4) related_name 用于关联对象反向引用模型的名称。主要用于反向查询,即源模型实例通过管理器返回第一个模型的所有实例。

2K30
领券