我已经创建了一个模型,它将自动显示模型中的所有字段,并将其显示在管理页面上。

现在,我有一个问题,我希望在同一行中有两个字段,为此,我必须在modeladmin中指定字段集:

1

2

3

4

5fieldsets = (

(None, {

'fields': (('firstname', 'lastname'),)

}),

)

是否必须指定所有字段?因为数据库中有许多字段需要指定。

只是我头脑中的一个想法。这个问题告诉我们如何获取模型字段的列表。获取所有字段的列表,并使用set difference删除firstname, lastname。

将这些字段包装在它们自己的元组上。

1

2

3

4

5class testAdmin(admin.ModelAdmin): fields = (

'field1',

('field2', 'field3'),

'field4'

)

在上面的示例中,字段field2和field3显示在一行上。

有一篇文章可能有用

文章引用如下:

Django is great. The bundled admin interface makes it better. But as the number of items on the form gets bigger, the amount of wasted space increases because the layout is single column. Coupled with left alignment on wide-screen monitors, my users usually end their day with a condition we call"eyeballs misalignment".

So I improvised and changed the form (and StackedInline) to a 2-up layout. No more"eyeballs misalignment".

The corresponding template for Django 1.2.1 (/contrib/admin/templates/admin/includes/fieldset.html) looks like this, modified lines highlighted:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

{% if fieldset.name %}{{ fieldset.name }}{% endif %}

{% if fieldset.description %}

{{ fieldset.description|safe }}

{% endif %}

{% for line in fieldset %}

{% cycle '

{{ line.errors }}

{% for field in line %}

{% if field.is_checkbox %}

{{ field.field }}{{ field.label_tag }}

{% else %}

{{ field.label_tag }}

{% if field.is_readonly %}

{{ field.contents }}

{% else %}

{{ field.field }}

{% endif %}

{% endif %}

{% if field.field.field.help_text %}

{{ field.field.field.help_text|safe }}

{% endif %}

{% endfor %}

{% cycle '' '

' %}

{% endfor %}

恐怕没有一个简单的方法。

一个选项是重写modeladmin的change_form.html模板,并根据需要设置表单样式。

另一种选择是执行自定义ModelForm并使用呈现两个输入字段的小部件定义字段,在表单的.save()方法中,将小部件结果值(元组)设置为两个字段。

谢谢,我正在找更容易的东西。

这对我有效

1

2

3fieldsets=(

("My Group",{"fields": (tuple(['field1','field1']),),}),

)

同意,这很烦人,但它的元组来自字段列表。您可以使用列表理解并将列表更改为元组。下面是一个跳过某些字段的示例,您希望在包括REST Normal方法的同时给予一些特别的注意。

1

2

3

4skipped=[]

alist = [field.name for field in ._meta.fields if field.name not in skipped]

fieldsets = tuple(alist)

*** play with skipped ***

稍微调整一下就可以了。

这很愚蠢,但是是的,如果要使用fieldsetstuple-within-a-tuple方法,那么必须指定表单上应该显示的所有字段。

这实际上是对"必须指定所有字段吗?"

python将一行作为字段_关于python:Django admin在同一行显示多个字段相关推荐

  1. python限制输入数字范围_关于python:如何限制Django模型中数字字段的最大值?

    Django具有各种可用于模型的数字字段,例如 DecimalField和PositiveIntegerField. 尽管前者可以限制为存储的小数位数和总字符数,但是有任何方法可以将其限制为仅存储特定 ...

  2. python文本结构化处理_在Python中标记非结构化文本数据

    python文本结构化处理 Labelled data has been a crucial demand for supervised machine learning leading to a n ...

  3. python做审计底稿视频_最新Python教学视频,每天自学俩小时,让你offer拿到手软...

    2020最新Python零基础到精通资料教材,干货分享,新基础Python教材,看这里,这里有你想要的所有资源哦,最强笔记,教你怎么入门提升!让你对自己更加有信心,重点是资料都是免费的,免费!!! 如 ...

  4. python写一个crm系统_用Python打造一个CRM系统(四)

    在上一篇中在本地进行初始化,并让项目顺利运行.在本篇中将实现一个线索管理模块,支持线索的增删改查. 新建线索应用模块 进入项目目录,使用django命令创建线索应用模块,命令如下: $ python ...

  5. python tkinter获取屏幕大小_使用Python构建属于自己的Markdown编辑器

    点击上方Linux公社,关注我们 正文Markdown编辑器大家应该都知道,很受程序员喜欢.许多人都在创建一个Markdown编辑器,有些很有创意,有些则很无聊.不过很多开发人员不希望使用Tkinte ...

  6. python输出一个月日历表_关于python一个月总结

    今天是6月16了,我在上个月19号的时候敲下了人生中的第一行python的hello world代码.碰巧今天周末,明天又开始忙碌的上(mo)班(yu).趁着现在对这个月的学习做一个总结,也是理清思路 ...

  7. python中nomodulenamed怎么解决_关于 python ImportError: No module named 的问题

    今天在 centos 下安装 python setup.py install 时报错:ImportError: No module named sysconfig, 当时急着用,就顺手直接源码编译了一 ...

  8. python硬件编程智能家居_利用 Python 的力量,实现 Tableau 与智能家居系统集成

    导语 你有想过将智能家居和 Tableau 结合么?Tableau 爱好者 Ann Jackson 就在自己家中,尝试实现将智能家居系统与 Tableau 仪表板集成在一起.根据灯光颜色非常" ...

  9. python获取指定端口流量_利用python获取nginx服务的ip以及流量统计信息

    #!/usr/bin/python #coding=utf8 log_file = "/usr/local/nginx/logs/access.log" with open(log ...

最新文章

  1. python爬取下拉列表数据_Python怎么爬取下拉式的网页?
  2. sql编辑器_SQL的弱点(3):缺少静态类型检查
  3. NB-IOT的优势体现在哪些方面
  4. AspectJ Join Point Matching based on Annotations
  5. Mirantis Certification summary
  6. 前端学习(3248):react的脚手架文件
  7. scala上界_Scala方差,上界和下界
  8. 应用定性数据分析包RQDA(Qualitative Data Analysis)和文挖掘框架包tm结合进行文本挖掘
  9. 关闭计算机139端口,关闭端口,详细教您电脑怎么关闭139端口
  10. R语言系统教程(六):描述统计量
  11. MPEG音频文件格式(包括MP3文件格式)详解
  12. 计算机桌面背景显示方式有几种,win7更改自己电脑的桌面背景几种方法介绍 Windows7系统更改桌面背景的方法图文教...
  13. PyCharm使用技巧:windows下快捷键Ctrl+Alt+左箭头(后退)和Ctrl+Alt+右箭头(前进)冲突问题
  14. 是的,智能手机在摧毁一代人,但不是孩子
  15. 做快乐的程序员 - 李战 在淘宝网的一次讲座
  16. Java发起post请求并以FormData携带数据
  17. Failed to find config ‘085569ce-73ed-11df-83c3-002264764cea‘
  18. SQL 之 ROW_NUMBER() OVER函数用法
  19. 【C#大作业】你画我猜——客户端代码实现
  20. 0710学习总结(友元函数,string函数,引用)

热门文章

  1. springmvc跨域问题
  2. emacs-w3m查看html帮助手册
  3. 【转】介绍设置Session失效的几种方法
  4. jQuery实现分页
  5. 什么是Affinity
  6. Model、ModelMap和ModelAndView的使用详解
  7. ES6-12 array/数值拓展、ArrayOf、ArrayFrom
  8. ES5-拓展 this指向的总结
  9. Codeforces Round #554 Div.2 E - Neko and Flashback
  10. Spring - Spring Boot Spring Cloud