Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Django中的内联表单集-删除某些字段

Django中的内联表单集-删除某些字段
EN

Stack Overflow用户
提问于 2009-02-17 16:32:45
回答 3查看 10.7K关注 0票数 10

我需要创建一个内联表单集,

a)从正在显示的MyModel中完全排除某些字段

b)显示一些字段MyModel,但阻止它们被编辑。

我尝试使用下面的代码,使用values()将查询集过滤为我希望返回的那些值。然而,这失败了。

有谁有什么想法吗?

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
class PointTransactionFormset(BaseInlineFormSet):
    def get_queryset(self):
        qs = super(PointTransactionFormset, self).get_queryset()
        qs = qs.filter(description="promotion feedback")
        qs = qs.values('description','points_type') # this does not work
        return qs

class PointTransactionInline(admin.TabularInline):
    model = PointTransaction
    #formset = points_formset()
    #formset = inlineformset_factory(UserProfile,PointTransaction)
    formset = PointTransactionFormset
EN

回答 3

Stack Overflow用户

发布于 2011-01-26 03:55:06

文档中似乎没有提到的一件事是,您可以在模型表单集的参数中包含表单。例如,假设您有一个person模型表单,您可以通过执行以下操作在模型表单集中使用它

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
PersonFormSet = inlineformset_factory(User, Person, form=PersonForm, extra=6)

这允许您在模型表单级别上执行所有表单验证、排除等操作,并让工厂对其进行复制。

票数 12
EN

Stack Overflow用户

发布于 2009-03-07 12:30:21

这是在管理员中使用的表单集吗?如果是这样,只需在InlineModelAdmin上设置"exclude = 'field1','field2'“即可排除字段。要显示一些不可编辑的字段值,您必须创建一个简单的自定义小部件,它的render()方法只返回值,然后覆盖formfield_for_dbfield()方法以将小部件分配给适当的字段。

如果这不是供管理员使用的,而是供其他地方使用的表单集,那么您应该在传递给表单集构造函数的ModelForm子类中进行上述自定义( Meta内部类中的exclude属性,__init__方法中的小部件覆盖)。(如果您使用的是Django1.2或更高版本,则可以直接使用readonly_fields )。

我可以更新代码示例,如果你澄清你在哪种情况下(管理员或非管理员)。

票数 6
EN

Stack Overflow用户

发布于 2009-09-09 02:43:34

我刚刚遇到了一个类似的问题(不是针对管理员,而是针对面向用户的站点),我发现您可以将想要显示的表单集和字段传递到inlineformset_factory中,如下所示:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
factory = inlineformset_factory(UserProfile, PointTransaction, 
                formset=PointTransactionFormset,
                fields=('description','points_type'))
formset = factory(instance=user_profile, data=request.POST)

其中user_profile是一个UserProfile

需要注意的是,如果底层模型所需的字段没有包含在传递到inlineformset_factory中的字段列表中,那么这可能会导致验证问题,但任何类型的表单都是如此。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/559361

复制
相关文章
剔除 HIVE中select除了某些字段之外的剩余所有字段
只需要设置参数 set hive.support.quoted.identifiers=None; 指定要剔除哪个字段 select (剔除的字段)?+.+ from table 示例: 选择
chimchim
2022/11/13
1.9K0
Django操作接口集删除(十三)
今天是删除接口集的操作,删除的话可以做成物理删除和逻辑删除。 由于数据有可能需要被找回,所以采用的是逻辑删除。 首先是删除的JavaScript代码
zx钟
2019/07/19
9410
Django中的form表单校验
我在使用django的form组件时,发现在view函数中的`form.is_valid()`在form表单校验未通过的情况下,返回的仍然是True,最后发现还是form表单的问题,异常函数并没有传递给view函数
cywhat
2022/11/22
1.5K0
Django:表单字段如何在模板中用中文
1、表单汉化:是针对用户的。用户浏览网页时,表单的名称如果是英文的,不够友好,所以需要显示为中文,虽然代码编写还是英文。 2、Admin后台汉化:是针对网站管理员的。因为Admin后台是数据库直接注册的,所以要想汉化后台内容,其实是对数据库(如字段名)操作的。2种汉化的对象不一样。
py3study
2020/01/16
1.6K0
Django中FilePathField字段的使用
class FilePathField(path=None[, match=None, recursive=False, max_length=100, **options]) 一个 CharField ,内容只限于文件系统内特定目录下的文件名。有三个参数, 其中第一个是 必需的: FilePathField.path 必填。这个FilePathField 应该得到其选择的目录的绝对文件系统路径。例如: "/home/images". FilePathField.match 可选的.FilePathField 将会作为一个正则表达式来匹配文件名。但请注意正则表达式将将被作用于基本文件名,而不是完整路径。例如: "foo.*.txt$", 将会匹配到一个名叫 foo23.txt 的文件,但不匹配到 bar.txt 或者 foo23.png. FilePathField.recursive 可选的.True 或 False.默认是False.声明是否包含所有子目录的路径 FilePathField.allow_files 可选的.True 或 False.默认是True.声明是否包含指定位置的文件。该参数或allow_folders 中必须有一个为 True. FilePathField.allow_folders 是可选的.输入 True 或者 False.默认值为 False.声明是否包含指定位置的文件夹。该参数或 allow_files 中必须有一个为 True. 当然,这些参数可以同时使用。 有一点需要提醒的是 match只匹配基本文件名(base filename), 而不是整个文件路径(full path). 例如: FilePathField(path="/home/images", match="foo.*", recursive=True) ...将匹配/home/images/foo.png而不是/home/images/foo/bar.png 因为只允许匹配 基本文件名(foo.png 和 bar.png). FilePathField实例被创建在您的数据库为varchar列默认最大长度为 100 个字符。作为与其他字段,您可以更改使用的max_length最大长度。 大多数网站在插入图片时一般都是这样处理的: 上传大尺寸图时,自动生成一张缩略图;网页中插入缩略图,并把地址指向大尺寸的图。 所以在Django中,我这样定义主要字段: title = models.CharField(max_length = 120) img = models.ImageField(upload_to = 'screenshots') thumb = models.FilePathField(path = 'screenshots/thumb') 为什么thumb不是ImageFiled呢?因为考虑到Admin中上传的是大图,而缩略图不是上传,而是自动生成的。所以在这样写。具体的处理是(假设MEDIA_ROOT为/tmp,MEDIA_URL为http://localhost/media/: 上传图片(test.jpg)至MEDIA_ROOT/screenshots,此时img的属性是:img.name = screenshots/test.jpg, img.path = /tmp/screenshots/test.jpg, img.url = http://localhost/media/screenshots/test.jpg 判断图片大小是否需要做缩略图,如果不需要,直接复制img.path到thumb,否则,生成一张缩略图(以test-thumb.jpg命名)保存在screenshots/thumb下。 在网页中插入图片时,就可以简单地用<a href="{% object.img.url %}"><img title="{% object.title %}" src="{% object.thumb %}" alt="{% object.title %}"></a>来表示了。object表示一个ScreenShot。
菲宇
2019/08/14
3.7K0
fastjson 过滤不需要的字段或者只要某些字段
转载自https://blog.csdn.net/stubbornness1219/article/details/52947013
allsmallpig
2021/02/25
2.1K0
django-表单之新增字段和设置css属性(四)
要注意是模板元素 和 表单元素的对应。
西西嘛呦
2020/08/26
8030
django中实现逻辑删除[通俗易懂]
is_delete = models.BooleanField(default=False, verbose_name=’逻辑删除’, help_text=’逻辑删除’)
全栈程序员站长
2022/08/28
1.1K0
【Python】基于某些列删除数据框中的重复值
Python按照某些列去重,可用drop_duplicates函数轻松处理。本文致力用简洁的语言介绍该函数。
阿黎逸阳
2020/09/08
20.7K0
【Python】基于某些列删除数据框中的重复值
MongoDB新增字段,删除字段
新增字段 db.yourcollection.update({},{$set:{"新增字段名称":""},false,true) 删除字段 db.yourcollection.update({},
十月梦想
2018/08/29
2.5K0
django表单提交
HTML表单是网站交互性的经典方式。 本章将介绍如何用Django对用户提交的表单数据进行处理。
py3study
2018/08/03
4K0
react使用antd中Form内联组件与Form表单默认赋值
先写思路:这里假设我写了两个Input组件,他们是一组,都在Form表单里面。然后我在通过initialValues给他们赋初始值。 一组Input组件的解决方案: 一组Input组件,这里直接转到官网教程: https://ant.design/components/form-cn/#header 看官网的代码直接套用即可 给一组Input组件赋初始值解决方案: 我这里使用了官网此处的方法赋值完后,发现表单验证是无法通过了,就过一夜的苦寻答案后,解决如下(在initialValue
啦啦啦啦
2023/02/11
1.8K0
react使用antd中Form内联组件与Form表单默认赋值
37.Django1.11.6文档
第一步 入门 检查版本 python -m django --version 创建第一个项目 django-admin startproject mysite 运行 python manage.py runserver 更改端口 python manage.py runserver 8080 更改IP python manage.py runserver 0:8000 1.创建app 创建投票应用 python manage.py startapp polls polls/views.py from dj
zhang_derek
2018/04/11
24.4K0
37.Django1.11.6文档
Django form表单
Form介绍   之前在HTML页面中利用form表单向后端提交数据时,都会写一些获取用户输入的标签并且用form标签把它们包起来。与此同时我们在好多场景下都需要对用户的输入做校验,比如校验用户是否输入,输入的长度和格式等正不正确,如果用户输入的内容有错误就需要在页面上相应的位置显示对应的错误消息。   Django form组建就实现了上面所述的功能。   总结一下,其实form组件的主要功能如下: 生成页面可用的HTML标签 对用户提交的数据进行校验 保留上次输入内容 普通的登录 views.py de
新人小试
2018/04/12
3.6K0
Django form表单
form表单的作用:   1.生成HTML代码   2.验证   3.把验证的错误显示在页面上并保留原始数据 form表单的基本使用: form_obj生成HTML代码的方式   1.form_obj.as_p   2.自己挨个字段取   3.{% for field in form_obj %}   {{field.label}}   {{field}}   {% endfor %}
py3study
2020/01/19
4.3K0
Django form表单
点击加载更多

相似问题

无法删除django中的表单内联表单集

111

动态删除Django中的内联表单集

10

模式-删除字段中的django内联格式集

11

Django内联表单集

28

django admin内联表单集

13
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文