我有一个自定义的 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) 如果这个问题对于网站来说过于开放,请道歉,但它似乎是最好的问题.
我是一名自学成才的程序员,在他的教育背景下几乎没有数学,并且在十年的职业生涯中,他从前端的Web脚本和Web开发慢慢地转向中级和数据级软件工程.因此,我的知识和经验方面有些缺乏.
在我最近与我的经理进行了一次审核之后,有人告诉我,克服这些差距就是我和升级到高级工程师角色之间的所有差距.然而,为了达到这个目的,我将不得不为自己找到一种结构化的学习方法,并证明我已经接受了我需要知道的东西.
我个人认为我的弱点如下.请注意,很多情况下的问题并不是我从技术上理解这些事情是如何工作的,而是我不知道应用它们在哪里或不适合它们.例如,我知道接口是什么,从技术上讲,它知道它做了什么,但是我很难区分什么时候使用接口,比如说,从一个基类继承的一组相关的OO类.因此,对于良好的软件设计而言,它比对技术的无知更为无知 - 我很难理解,消化和处理松耦合系统等问题.
此外,我从来没有做过一些像编译器这样的低级东西.我有时想知道,如果我对编写代码的能力有很大的不同,那么如果我对这种材料有了更好的了解,那么代码不仅有效而且优化得很好.
有时候担心我无法识别我的技能组合中的弱点,因为我不知道如何提出正确的问题.所以,希望我能正确地解决问题,我希望你的建议如下:
干杯,马特
我想知道有谁可以解释autolisp/visual lisp的以下功能背后的设计理由?对我而言,他们似乎面对公认的软件实践......我错过了什么?
/在函数参数中放置)10表示x/y坐标,90表示坐标列表的长度,63表示颜色等.好的,您可以将它们存储在某些常量中,但这意味着更多的全局变量,文档鼓励您直接使用幻数.我可能会遗漏一些愚蠢的东西,但是我已经在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) 如何$('label.someClass').attr('valid', true);使用jQuery 编写Java Script?
由于这里关于这个主题的许多问题证明了这一点,所以拿一本字典是一个非常常见的任务,有一个相当不错的解决方案:
{k:v for k,v in dict.viewitems() if some_test(k,v)}
Run Code Online (Sandbox Code Playgroud)
但是这会创建一个新的字典,并带有自己的映射.对于许多操作,只有原始字典的不可变视图(即它不支持视图上的赋值或删除操作)会很好.实现这样的类型可能很容易,但是增加本地实用程序类并不好.
所以,我的问题是:是否有内置的方式来获得这样的"子集视图"?或者是否有第三方库(最好通过PyPi提供)提供这种实用程序的良好实现?
文件名如下:
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字符串,它是文件的绝对路径.
我正在生成一个XML文档,其中为不同的部分提供了不同的XSD(也就是说,某些元素的定义在某些文件中,其他元素的定义在其他文件中)。
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文件之一中指定。
我在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!" …
我正在使用 SQLAlchemy 的固定装置来创建一些集成测试。
我想将 SQLAlchemy 置于“从不提交”模式,以防止将更改写入数据库,以便我的测试彼此完全隔离。有没有办法做到这一点?
我最初的想法是,也许我可以Session.commit用模拟对象替换;但是我不确定是否还有其他东西可能具有相同的效果,如果我要走这条路,我也需要模拟。
python ×6
architecture ×1
attributes ×1
autolisp ×1
dictionary ×1
django ×1
django-admin ×1
django-forms ×1
equality ×1
facade ×1
javascript ×1
jquery ×1
lisp ×1
lxml ×1
sqlalchemy ×1
string ×1
testing ×1
unicode ×1
windows ×1
xml ×1
xsd ×1