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

DRF多对多ManytoMany字段更新和添加

)就这样给自己挖了坑因为想要在添加订单同时也要添加对应菜品数量于是自定义了中间表并且添加了数量字段(噩梦开始~~~)首先是定义模型类models.py# models.pyimport django.utils.timezone...将获取到id实例 传入序列化器再把需要更新字段传入data obj_serializer = OrderCenterThoughSerializer(instance=obj...,在写时候又发现了代码几个bug1、可以更新不是订单人菜品2、更新时候只能更新已经生成菜品内容,因为无法为订单添加菜品,这个涉及到中间表对应关系已经确定了。...如果解决的话应该还是要加判断或者其他处理方法3、针对第二点解决方法个人认为如果有新菜品添加的话就要删除当前订单再重新添加这样逻辑应该就说通了,不过具体还要看使用需求。...主要是一个思路,drf ModelSerializer 和 ModelViewSet 封装太严实了,通过这样方法来更新和添加多对多字段实属自己技术不成熟。

68020

django admin详情表单显示添加自定义控件实现

类,在form添加一个字段字段中有一个widget参数,我们可以在其中设置控件,我在里面添加了一个input类型,TextInput对象参数attrs传入是一个字典,我们可以在里面像写html...这个时候我们就可以在详情内看见button了,但是相对应,在detail表单添加后,在add表单也会出现一个button,这个不是我们想要,所以就要想办法让button只存在于detail界面...self.base_fields是一个字典,里面添加了我们自定义字段(我记得是的,如果有误可自行查看),通过字段name查询出该字段对象,掉用方法即可进行css样式修改。...至此,我们form添加额外字段显示以及button操作就完成了,还有最后一点,当type为text时我们直接添加value即可,type为button时,如果需要点击弹窗该如何操作。...刷新页面即可; 以上这篇在django admin详情表单显示添加自定义控件实现就是小编分享给大家全部内容了,希望能给大家一个参考。

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

django写接口(优化篇)

入门:视图及模版》 《django入门:Admin管理系统及表单》 《django入门:通用视图类重构视图》 在《用django写接口(入门篇)》提到这篇会讲 views 代码优化,在这之前,我们先适当了解下...参考 django 表单部分) Response 是一种 TemplateResponse 采用未呈现内容,通过内容协商来确定正确内容类型以返回给客户端,用法直接 return Response...P[0-9]+)/$', views.post_detail, name='api_post'), ] # 增加这一行,这样我们就不需要逐一地添加对格式支持 url 样式 urlpatterns...在结束文章最后,记录自己写时候遇到一个坑,当更新 ManyToMany 字段时候,我们需要重新写 post 方法,直接传 id 是不能更新,直接传 id 是不能更新,直接传 id 是不能更新...# 假设我们 post 有一个 ManyToMany 字段 tags class PostDetailView(APIView): # 更新时候,需要约定好 ManyToMany

2.1K20

Orm之中介模型

什么是中介模型 中介模型针对ManyToMany(多对多)时候第三张表问题, 中介模型其实指就是我们不通过Django创建第三张表,如果自己不创建第三张表,而是由django给我们创建,那就不存在你中介模型...中介模型示例 普通ManyToMany示例 class Book(models.Model): title = models.CharField(max_length=32) authors...models.ManyToManyField(to='Author') class Author(models.Model): name = models.CharField(max_length=32) 这时候Django...图中可以看出,Django创建ForeignKey时候会在字段后自动添加'_id',所以,我们在写第三张表字段时候就不用加_id了,如下: class Book(models.Model):...自建表区别 1、中介模型第三张表是自己创建,所以可以自己任意添加额外字段,而Django自创建第三张表字段是固定 2、中介模型没有add,set  , remove,clear 方法

81950

Django学习笔记之Queryset详解

注意:这里只是查询Entry表,返回a每条记录只包含Entry表字段值,不管Entrymodel是否有onetoone、onetomany、manytomany字段,都不会关联查询。...不过update()键值对键只能是主表字段,不能是关联表字段,如下 Entry.objects.update(blog__name='foo') #错误,无法修改关联表字段,只能修改Entry...实现 在SQL,很多关键词在删、改、查时都是可以用,如order by、 like、in、join、union、and、or、not等等,我们以查询为例,说一下django如何映射SQL这些关键字...聚合函数可以像filter那样关联表,即在聚合函数Django对OneToOne、OneToMany、ManyToMany关联查询及其反向关联提供了相同方式,见下面例子。...数量,字段命名为ut_num,返回QuerySet每个object都有 #这个字段

2.7K30

37.Django1.11.6文档

Django如何区分它们URL名字呢? 答案是添加命名空间到你URLconf。...你有两个原因可能会自己定义Manager:Manager类添加额外方法,或者修改Manager返回原始QuerySet。...(2)样式化小部件 如果你想让某个Widget 实例与其它Widget 看上去不一样,你需要在Widget 对象实例化并赋值给一个表单字段时指定额外属性(以及可能需要在你CSS 文件添加一些规则)...return data 清理和验证相互依赖字段 假设我们联系表单添加了另一个要求:如果cc_myself字段是True,则subject必须包含单词"help" 我们一次在多个字段上执行验证,因此表单...admin 添加自定义验证 在管理员添加数据自定义验证是很容易

24.2K80

Django

==2.2.4 # setting 添加库 https://pypi.tuna.tsinghua.edu.cn/simple/ 防止time out # cmd 新建项目 进入目标目录 django-admin...(manytomany那个book).set(getlist得到books列表) # 注意不用save() # 8,删除作者 普通删除,只不过是关联删除,先删书,再删作者 # 9,更改作者,与普通更改相同...,设置了该属性,结果才可以reverse() 5_orm_1 # ORM小练习 如何在一个Python脚本或文件 加载Django项目的配置和变量信息 # 常用查询方法 import os if...属性 --> 字段 # # Django连接MySQL数据库步骤: # 1. # 手动创建库 # 2. # 配置settings.py数据库连接信息 # 3. # 修改settings.py同目录下...自带中间件,自带倒数第三个 auth有关 """ python manage.py createsuperuser auth_user 添加用户 from django.contrib import

3.4K20

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

现在先来试试重新排序表单字段。...经过上面修改"Publication date"字段会在"Question"字段前面: ? 目前表单只有两个字段可能看不出什么,但是对于一个字段很多表单,设计一个直观合理排序方式非常重要。...在这个表单,Question字段是一个select选择框,包含了当前数据库中所有的Question实例。Django在admin站点中,自动地将所有的外键关系展示为一个select框。...点击它,会弹出一个新增Question表单,类似Question自己添加表单。填入相关信息点击保存后,Django自动将该Question保存在数据库,并作为当前Choice关联外键对象。...如何找到Django源文件: 在命令行运行下面代码: python -c "import django; print(django.

3.6K60

使用asp.net 2.0CreateUserwizard控件如何自己数据表添加数据

在我们应用系统,asp.net 2.0用户表数据往往不能满足我们需求,还需要增加更多数据,一种可能解决方案是使用Profile,更普遍方案可能是CreateUserwizard添加数据到我们自己...当你建立用户membershipuser对象,可以使用Provideruserkey获取用户主键值(一个GUID值): CreateUserWinardOnCreatedUser事件可以获取你要添加额外用户信息和...Provideruserkey值插入到你自己数据库表。...下面是一个如何使用例子: protected void CreateUserWizard1_CreatedUser( object sender, System.EventArgs e) {...this.AddMyDataToMyDataSource(userinfo); } private void AddMyDataToMyDataSource(UserInfo myData) {    //添加数据到自己数据库表

4.5K100

Django学习之八:forms组件【对

没校验通过form_obj可以用于渲染,将错误信息和验证过信息都渲染到form表单,不会出现form表单没有校验通过,就将部分校验通过数据也清空掉,会保留校验通过数据,只清空没有通过字段数据...表单渲染添加css class可以通过widget。...这样就提供了一个方式,可以修改对象,再提交到库。还有一种情况,如果有一个manytomany字段,创建对象,建立关系可能需要先构建关联表数据后,才能保存。...form表单基本上可以对应数据库中一个表一条数据。因为数据库中一个表数据可能关联到其它表数据(就是常说manyTomany,manyToone,oneToone)。...form.add_error(field, error) 给参数指定字段添加错误。如果字段是校验过添加错误会将字段数据从form.cleaned_data删除。

2.1K30

django orm 重点大全

2.orm字段必须要知道一些属性 (0)null 如果为True,Django 将用NULL 来在数据库存储空值。...如果一个字段blank=True,表单验证将允许该字段是空值。如果字段blank=False,该字段就是必填。 (2)default 字段默认值。可以是一个值或者可调用对象。...如果你没有指定任何一个字段primary_key=True, Django 就会自动添加一个IntegerField字段做为主键,所以除非你想覆盖默认主键行为, 否则没必要设置任何一个字段primary_key...如果设置了choices , 默认表单将是一个选择框而不是标准文本框,而且这个选择框选项就是choices 选项。...,其实重要是先查到,然后再添加就比较容易了,传说中三种方式,貌似实际应用只有save()方式可以使用,原因无他,只有save()能触发django定义一些钩子函数,留下数据更改日志信息,比较安全

77840

django 1.8 官方文档翻译: 1-2-2 编写你第一个Django应用,第2部分

这样的话你就需要在注册对象 时告诉 Django 对应配置。 让我们来看看如何在编辑表单上给字段重新排序。...刚才所说有许多字段表单,你可能想将表单字段分割成 fieldsets :: class PollAdmin(admin.ModelAdmin): fieldsets = [...下面是我们表单现在样子: 你可以为每个 fieldset 指定 THML 样式类。Django 提供了一个 “collapse” 样式类用于显示初始时是收缩 fieldset 。...Add choice” 表单 看起来像这样: 该表单,Poll 字段是一个包含了数据库每个 poll 选择框。...如果你在窗口中添加了一 poll 并点击了 “Save” 按钮, Django 会将 poll 保存至数据库并且动态添加为你正在查看 “Add choice” 表单 已选择项。

2.5K40

登录

只需几分钟简单配置,就可为用户提供登录功能。接下来就来看看如何使用内置登录功能。...、渲染控件、渲染帮助信息等在注册表单部分已经讲过,登录表单只引入了一个新东西:{{ form.non_field_errors }},这显示同样是表单错误,但是显示表单错误是和具体某个表单字段无关...image.png 故意使用一个不存在账户登录,或者故意输错密码,你将看到表单渲染字段相关错误。...如何在模板判断用户是否已经登录 在模板判断用户是否已经登录非常简单,使用 {% if user.is_authenticated %} 条件判断即可。借此机会,我们来处理一下网站首页。...下面就来给网站添加注销登录功能吧! 总结 本教程示例项目代码位于 GitHub:Django Auth Example。 如果遇到问题,请通过下面的方式寻求帮助。 在下方评论区留言。

3.8K50

Django -- 如何优雅提交表单

前言 前面的内容我们基本上以 get请求作为例子,那 post请求Django如何处理呢?本章内容我们就来介绍Django如何发起和处理 post请求。...---- 一个简单表单 就拿我们Cat类来说,之前新增Cat对象都是通过admin后台或者数据库API来操作,现在我们尝试通过前端页面来添加Cat对象。...Django 为此提出了一种较为简便方法Form ,Django 表单有一下两个作用: 渲染表单模板 验证数据是否合法 下面我们来介绍下他使用。...,且是必填,最大长度为10, label='name_form' 作用是渲染html 表单字段为 name label 为 name_form。...form.is_valid() 表示对POST请求数据按照当时定义表单字段时定义规则校验。

3.2K20

django 学习笔记一

from django.conf import settings if settings.DEBUG: # Do something 完整设置清单和各个字段结束 联想 如果有其他配置,...key 自动关联模型 primary key # create 后面的参数是创建另外一个表对象参数 # 则 choice 对象 id 自动关联 q ID,并且 choice 数据库自动添加一个...更改顺序 得来全不费工夫,只需使用admin.site.register(Question)注册Question模型,Django就能构造一个默认表单表示。...通常,你会想要自定义管理界面中表单外观和功能。 你可以通过在注册对象时候告知Django一些你想要选项来完成。 让我们通过对编辑表单字段重新排序来看一下它是如何工作。...# 设置要添加关联个数 inlines = [ChoiceInline] 设置一个模型展示字段 # 用来设置展示每个模型内容 # 可以增加方法名称来展示 list_display

1K20

django 1.8 官方文档翻译:5-2-2 表单素材 ( Media 类)

表单素材 ( Media 类) 渲染有吸引力、易于使用web表单不仅仅需要HTML – 同时也需要CSS样式表,并且,如果你打算使用奇妙web2.0组件,你也需要在每个页面包含一些JavaScript...Django允许你将一些不同文件 – 像样式表和脚本 – 与需要这些素材表单和组件相关联。例如,如果你想要使用日历来渲染DateField,你可以定义一个自定义日历组件。...css 各种表单和输出媒体所需,描述CSS字典。 字典值应该为文件名称列表或者元组。对于如何指定这些文件路径,详见路径章节。 字典键位输出媒体类型。...这个属性默认值是,所有属于这个表单组件添加media定义结果。...– 例如,表单布局CSS – 只是表单添加Media声明就可以了: >>> class ContactForm(forms.Form): ...

74820

django-搭建BBS关键点总结

0826自我总结 django-搭建BBS关键点总结 一.关于开口子,直接输入url访问文件内容 django自带开了个口子是static文件可以直接访问到 手动开口子 urs.py from django.views.static....*),前面的路径等同于后面设置路径,而下面正则匹配内容为内容拼接前面的就是完整一个路径,这样就可以url直接访问文件夹 二.关于登入验证码解决并发问题 解决方法:将code存在session... 注意点:如果同时在一个浏览器打开两个相同网页,他code以后那个网站为准,这是session特性 三.验证码生成 https://www.cnblogs.com/pythonywy/p/...) 也可以在网页完成是否登入判断 {% if request.user.is_authenticated %} 完成注销操作 auth.logout(request) 五.表单查找 #查询当前站点下所有标签对应文章数...annotate(字段名称=聚会函数) annotate 前面有values时候,主要是加快查询速度,values必须要有annotate依据 六.自定义文件夹存储路径 settings.py

56320
领券