小编Mar*_*cin的帖子

使外键在 Django Admin 中可选?

我有一个自定义的 django 管理页面,我想在管理界面中将两个 ForeignKey 字段设为可选。我不想改变底层模型。

这是模型:

class IncorporationTicket(models.Model, AdminURL):
    ordered_by = models.ForeignKey('Organisation', # organisation which ordered this
                                   null = True,
                                   blank = False, # i.e. can only be null as a result of delete
                                   on_delete = models.SET_NULL)
    ordered_by_individual = models.ForeignKey('Individual', # individual at organisation which ordered this
                                               null = True,
                                               blank = False, # i.e. can only be null as a result of delete
                                               on_delete = models.SET_NULL)
Run Code Online (Sandbox Code Playgroud)

(AdminURL 是一个提供 get_absolute_url 的 mixin)

这是模型管理员:

class TicketAdmin(admin.ModelAdmin):
    readonly_fields = ('ordered', 'charge', 'amount_paid', …
Run Code Online (Sandbox Code Playgroud)

django django-forms django-admin

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

构建软件工程技能的资源

如果这个问题对于网站来说过于开放,请道歉,但它似乎是最好的问题.

我是一名自学成才的程序员,在他的教育背景下几乎没有数学,并且在十年的职业生涯中,他从前端的Web脚本和Web开发慢慢地转向中级和数据级软件工程.因此,我的知识和经验方面有些缺乏.

在我最近与我的经理进行了一次审核之后,有人告诉我,克服这些差距就是我和升级到高级工程师角色之间的所有差距.然而,为了达到这个目的,我将不得不为自己找到一种结构化的学习方法,并证明我已经接受了我需要知道的东西.

我个人认为我的弱点如下.请注意,很多情况下的问题并不是我从技术上理解这些事情是如何工作的,而是我不知道应用它们在哪里或不适合它们.例如,我知道接口是什么,从技术上讲,它知道它做了什么,但是我很难区分什么时候使用接口,比如说,从一个基类继承的一组相关的OO类.因此,对于良好的软件设计而言,它比对技术的无知更为无知 - 我很难理解,消化和处理松耦合系统等问题.

  • 接口
  • 代表
  • 设计模式
  • 网络架构和协议

此外,我从来没有做过一些像编译器这样的低级东西.我有时想知道,如果我对编写代码的能力有很大的不同,那么如果我对这种材料有了更好的了解,那么代码不仅有效而且优化得很好.

有时候担心我无法识别我的技能组合中的弱点,因为我不知道如何提出正确的问题.所以,希望我能正确地解决问题,我希望你的建议如下:

  • 从我目前缺乏的声音是否还有其他任何我应该考虑的主题?
  • 学习这些材料的一些好资源在哪里?
  • 是否有任何结构化,自学成才的课程,我可以通过相关的工作?遗憾的是,我没有时间进行正式的资格认证.

干杯,马特

architecture

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

任何人都可以向我解释Autolisp/visual lisp背后的设计决策吗?

我想知道有谁可以解释autolisp/visual lisp的以下功能背后的设计理由?对我而言,他们似乎面对公认的软件实践......我错过了什么?

  • 默认情况下,所有变量都是全局变量(即除非/在函数参数中放置)
  • 从autocad读取/写入数据需要将内容放入具有大量幻数的关联列表中. 10表示x/y坐标,90表示坐标列表的长度,63表示颜色等.好的,您可以将它们存储在某些常量中,但这意味着更多的全局变量,文档鼓励您直接使用幻数.
  • Lisp是一种函数式语言,它鼓励通过递归进行迭代编程,但尾部递归在视觉lisp中没有优化,导致可怕的调用堆栈 - 当然,除非你迭代.但循环语法非常严格; 例如,除非在终止条件中放置某种标志,否则不能从循环中中断或返回值.结果,丑陋的代码.
  • 一般来说,你被迫在面向函数式编程的地方声明变量 - 那么为什么要使用函数式(-ish)语言呢?

lisp programming-languages autolisp

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

python不会创建线程?

我可能会遗漏一些愚蠢的东西,但是我已经在pythonwin中运行了我的代码并且它可以工作,但是当我在命令行中运行它时它会怪胎

import time, thread
def print_t(name, delay):
    while 1:
        time.sleep(delay)
        print name
try:
    thread.start_new_thread(print_t,("First Message",1,))
    thread.start_new_thread(print_t,("Second Message",2,))
except Exception as e:
    print e

Unhandled exception in thread started by
sys.excepthook is missing
lost sys.stderr

Unhandled exception in thread started by
sys.excepthook is missing
lost sys.stderr
Run Code Online (Sandbox Code Playgroud)

python windows multithreading

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

在Javascript中添加属性

如何$('label.someClass').attr('valid', true);使用jQuery 编写Java Script?

javascript jquery attributes

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

Python创建自己的字典子集的dict视图

由于这里关于这个主题的许多问题证明了这一点,所以拿一本字典是一个非常常见的任务,有一个相当不错的解决方案:

{k:v for k,v in dict.viewitems() if some_test(k,v)}
Run Code Online (Sandbox Code Playgroud)

但是这会创建一个新的字典,并带有自己的映射.对于许多操作,只有原始字典的不可变视图(即它不支持视图上的赋值或删除操作)会很好.实现这样的类型可能很容易,但是增加本地实用程序类并不好.

所以,我的问题是:是否有内置的方式来获得这样的"子集视图"?或者是否有第三方库(最好通过PyPi提供)提供这种实用程序的良好实现?

python dictionary facade

5
推荐指数
2
解决办法
1953
查看次数

跨操作系统的Python open()unicode文件名行为不同

文件名如下:

filename = u"/direc/tories/español.jpg"
Run Code Online (Sandbox Code Playgroud)

并使用open()作为:

fp = open(filename, "rb")
Run Code Online (Sandbox Code Playgroud)

这将在OSX(10.7)上正确打开文件,但在Ubuntu 11.04上,open()函数将尝试打开u"espa\xf1ol.jpg",这将失败并出现IOError.

通过尝试解决这个问题的过程,我已经检查sys.getfilesystemencoding()了两个系统,两者都设置为utf-8(虽然Ubuntu报告大写,即UTF-8,不确定是否相关).我也设置# -*- coding: utf-8 -*-了python文件,但我确信这只会影响文件本身的编码,而不影响任何外部函数或python如何处理系统资源.该文件存在于两个系统上,并且eñe正确显示.

最后的问题是:如何español.jpg在Ubuntu系统上打开文件?

编辑:español.jpg字符串实际上是通过Django的ORM(ImageFileField)从数据库出来的,但是当我处理它并看到行为上的差异时,我有一个unicode字符串,它是文件的绝对路径.

python unicode

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

使用三个xml架构作为lxml中的一个组合架构进行验证?

我正在生成一个XML文档,其中为不同的部分提供了不同的XSD(也就是说,某些元素的定义在某些文件中,其他元素的定义在其他文件中)。

XSD文件不会互相引用。模式是:

  1. http://xmlgw.companieshouse.gov.uk/v2-1/schema/Egov_ch-v2-0.xsd
  2. http://xmlgw.companieshouse.gov.uk/v1-1/schema/forms/FormSubmission-v1-1.xsd
  3. http://xmlgw.companieshouse.gov.uk/v1-1/schema/forms/CompanyIncorporation-v1-2.xsd

有没有一种方法可以使用lxml针对所有模式验证文档?

这里的解决方案不是简单地针对每个架构进行单独验证,因为我遇到的问题是,由于XSD中未指定元素,验证失败。例如,当针对进行验证时http://xmlgw.companieshouse.gov.uk/v2-1/schema/Egov_ch-v2-0.xsd,出现错误:

  File "lxml.etree.pyx", line 3006, in lxml.etree._Validator.assertValid (src/lxml/lxml.etree.c:125415)
DocumentInvalid: Element '{http://xmlgw.companieshouse.gov.uk}CompanyIncorporation': No matching global element declaration available, but demanded by the strict wildcard., line 9
Run Code Online (Sandbox Code Playgroud)

因为所讨论的文档包含一个{http://xmlgw.companieshouse.gov.uk}CompanyIncorporation元素,该元素未在要验证的XSD中指定,而是在其他XSD文件之一中指定。

python xml xsd lxml

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

Python测试字符串是否是某组值中的一个

我在codecademy上学习python,我目前的任务是:

编写一个函数shut_down,它接受一个参数(你可以使用你喜欢的任何东西;在这种情况下,我们使用s作为字符串).当shut_down函数获得"是","是""是"作为参数时,应该返回"关闭...",并且"关闭已中止!" 当它变为"否", "否""否"时.

如果它得到的不是那些输入,该函数应该返回"抱歉,我不明白你."

看起来很容易,但不知怎的,我仍然无法做到这一点.

我用来测试函数的代码:

def shut_down(s):
    if s == "Yes" or s == "yes" or s == "YES":
        return "Shutting down..."
    elif s == "No" or "no" or "NO":
        return "Shutdown aborted!"
    else:
        return "Sorry, I didn't understand you."

i = input("Do you want to shutdown?")
print(i) #was to test the input
print(shut_down(i)) #never returns "Sorry, I didn't understand you"
Run Code Online (Sandbox Code Playgroud)

它适用于no和yes',但不知何故,如果我在任何之前放置一个空格,或者即使我只输入"a",它也会打印出"Shutdown aborted!" …

python string equality

5
推荐指数
2
解决办法
4395
查看次数

sqlalchemy - 强制它永远不提交?

我正在使用 SQLAlchemy 的固定装置来创建一些集成测试。

我想将 SQLAlchemy 置于“从不提交”模式,以防止将更改写入数据库,以便我的测试彼此完全隔离。有没有办法做到这一点?

我最初的想法是,也许我可以Session.commit用模拟对象替换;但是我不确定是否还有其他东西可能具有相同的效果,如果我要走这条路,我也需要模拟。

python testing sqlalchemy

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