小编m00*_*000的帖子

我可以在django admin中创建list_filter,只显示引用的ForeignKeys吗?

我有一个django应用程序,它有两个这样的模型:

class MyModel(models.Model):
    name = models.CharField()
    country = models.ForeignKey('Country')

class Country(models.Model):
    code2 = models.CharField(max_length=2, primary_key=True)
    name = models.CharField()
Run Code Online (Sandbox Code Playgroud)

管理类MyModel看起来像这样:

class MyModelAdmin(admin.ModelAdmin):
    list_display = ('name', 'country',)
    list_filter = ('country',)
admin.site.register(models.MyModel, MyModelAdmin)
Run Code Online (Sandbox Code Playgroud)

Country表包含约250个国家.某些MyModel实例实际上只引用了少数几个国家.

问题是django admin 的列表过滤器列出了过滤器面板中的所有国家/地区.列出所有国家(而不仅仅是那些被实例引用的国家)在这种情况下几乎无法实现列表过滤器的目的.

是否有一些只显示MyModel列表过滤器中作为选项引用的国家/地区?(我使用Django 1.3.)

django django-admin

56
推荐指数
4
解决办法
5万
查看次数

django管理员操作没有选择对象

是否可以为django管理员创建一个自定义管理操作,不需要选择一些对象来运行它?

如果您尝试在不选择对象的情况下运行操作,则会收到以下消息:

Items must be selected in order to perform actions on them. No items have been changed.
Run Code Online (Sandbox Code Playgroud)

有没有办法覆盖此行为并让操作仍然运行?

django django-admin

31
推荐指数
3
解决办法
1万
查看次数

覆盖sphinx/docutils中的默认字段名称限制

我正在使用sphinx为项目生成html文档.我广泛使用字段列表.

生成html时,如果标签的长度最多为14个字符,则每个标签/值对将呈现为具有两个单元格的单个表行.

如果一对标签超过14个字符,则标签/值将呈现为两个表行.

我想将包装限制增加到更大的值(例如40).我发现限制是由--field-name-limitdocutils选项控制的.但是,我找不到如何通过sphinx设置此值.

docutils.conf在文档根目录中创建了一个文件,其中包含以下内容:

[general]
dump_settings: 1
dump_internals: 1

[html4css1 writer]
field_name_limit: 40
Run Code Online (Sandbox Code Playgroud)

运行sphinx时会读取该文件.打印设置和内部 - 由于部分中的值[general].在打印值中,field_name_limit打印有价值40.尽管如此,我描述的包装仍然出现在html输出中.

如何设置值field_name_limit以便获得所需的输出?

python restructuredtext docutils python-sphinx

11
推荐指数
1
解决办法
644
查看次数

Pandoc markdown中的LaTeX多列块

我想使用pandoc将markdown文件转换为html和pdf.对于打算用于打印的pdf文件,我想以两列格式呈现一个(窄)文本块.这就是我提出的(并且不起作用):

---
papersize: a4
documentclass: article
header-includes:
    - \usepackage{multicol}
...

H1
==============

H2 - A
--------------

\begin{multicols}{2}

### H3 - a
Blah blah blah...

### H3 - b
Blah blah blah...

### H3 - c
Blah blah blah...

\end{multicols}

H2 - B
--------------
Blah blah blah...
Run Code Online (Sandbox Code Playgroud)

这可以通过pandoc实现吗?问题是,pandoc似乎从对待一切\begin{multicols}{2},以\end{multicols}作为原料乳胶源.这意味着:

  1. html输出不包含块的内容.
  2. LaTeX会阻塞块,因为markdown在传递给它之前不会被解释.

有没有办法指示pandoc注入环境启动命令(\begin{multicols}{2})但是在那一点停止LaTeX原始块而不是扫描找到它的结束?或者可能是一种更好的解决方案来达到预期的效果

我用于转换的命令行是:

pandoc --standalone --normalize -f markdown-hard_line_breaks -t html5 --self-contained -o out.pdfl in.md
pandoc --standalone --normalize -f markdown-hard_line_breaks -t latex -o out.pdf in.md
Run Code Online (Sandbox Code Playgroud)

markdown latex pandoc

9
推荐指数
1
解决办法
4239
查看次数

如何制作字符串参数的strace打印地址而不仅仅是它们的值?

我试图用来strace理解二进制程序如何使用内存.

但是,strace为了更加用户友好,默认输出将任何char *缓冲区打印为相应的字符串.

read(3, "Tell me, Muse, of that man of ma"..., 4096) = 270
Run Code Online (Sandbox Code Playgroud)

有没有办法告诉strace打印其内容旁边的字符串的实际地址?

如果不可能同时打印两者,则只打印字符串的地址而不是截断的内容也可以.

linux debugging reverse-engineering strace

6
推荐指数
2
解决办法
2488
查看次数

如何检查Python 2.5中的类相等?

我查看了Python 2.5文档,我找不到这个答案:如何检查一个对象是否与另一个对象是同一个类?

def IsClass(obj1, obj2):
     return obj1.class == obj2.class #doesn't work
Run Code Online (Sandbox Code Playgroud)

python equality class python-2.5

1
推荐指数
1
解决办法
7798
查看次数