小编Luc*_*ang的帖子

如何在覆盖 django save() 方法时更改输入字段

假设我有以下代码:

 class MyModel(models.Model):
     ...
     ...

    def save(self, *args, **kwargs):
        # pre-save edits can go here...
        super(MyModel, self).save(*args, **kwargs)
Run Code Online (Sandbox Code Playgroud)

当我创建并保存模型 MyModel(blah, blah, blah) 时,输入字段之一可能是“无”。在覆盖的 save 方法中,目标是检查字段是否为 none,如果是,则将其更改为其他一些默认值。

输入字段是 args 还是 kwargs?并且覆盖 save() 甚至是正确的方法吗?

我在想这样的事情:

    def save(self, *args, **kwargs):
        if 'username' in args and args['username'] is None:
              args['username'] = some_default_value
        super(MyModel, self).save(*args, **kwargs)
Run Code Online (Sandbox Code Playgroud)

那么输入参数在哪里?args* 或 **kwargs,谢谢。

python django

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

运行多个python脚本和多处理有什么区别

我正在考虑将多处理添加到我的脚本之一以提高性能。

没什么特别的,main 方法有 1-2 个参数。

仅运行在终端上克隆的四个相同脚本与实际将多处理添加到 python 代码中有什么问题吗?

ex 为四个核心:

~$ script.py & 
   script.py &
   script.py &
   script.py;
Run Code Online (Sandbox Code Playgroud)

我读过 linux/unix 操作系统会自动在可用内核之间划分程序。

对不起,如果我上面提到的 ^ 东西是完全错误的。以上都没有正式学过,都是网上的东西。

python multithreading multiprocessing

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

比较两个列表中的元素时使用django ORM的最有效方法

model_one_list = Model1.objects.all()
model_two_list = Model2.objects.filter(...).order_by(..)

for model in model_one_list:
    for model2 in model_two_list:
        if model.field == model2.field:
            another_list.append(model)
Run Code Online (Sandbox Code Playgroud)

django ORM在网上的一些提示特别提到不要做这个,因为它使用了太多的内存并且伤害了性能,文档建议尽可能地坚持使用ORM.

我试着用这个解决上面的问题:

Model1.objects.extra(
    where={
        'field = app_model2.field' 
        # Not sure if this works, I think the app_model2 may be wrong idk if i
        # can access that
    },
)
Run Code Online (Sandbox Code Playgroud)

但对于这样的事情,我不太清楚如何处理它.

也是一个有点相关的最后一个问题.如果我有一个需要按顺序排序的查询集,那么在没有迭代的情况下推荐的方法是什么?

Model1.objects.order_by('something').extra(select={'rank':
"how do i get the rank in mysql??? like while its
 iterating, is this even possible"})
Run Code Online (Sandbox Code Playgroud)

谢谢您的帮助.

python django orm

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

如何将django模型发送到带有其他自定义字段的模板中?

我依旧记得在过去的教程中看过这个.但是,我很难找到目前文档中的确切方式.

假设我们有一个名为Post的模型.该模型有一个名为timestamp的字段.但是,当我们将此模型发送到模板时,我们不关心时间戳.相反,我们想要更流行的"年龄"(创建X分钟/小时前),幸运的是,可以从时间戳推断出来.

而不是为时间戳创建一个全新的字段,而不是使用自定义模板标签,我们可以在将模型发送到模板之前暂时向模型添加一个字段吗?

防爆.

# views.py
# Is the below code right? do I need to save()?
posts = Posts.objects.filter(...).filter(...)[:X]
for post in posts:
     # Post does not have an age field, we are creating one
     # temporarily before sending it to the template
     post.age = some_function(post.timestamp) 

return render_to_response(template, {'posts' : posts}, etc...) 
Run Code Online (Sandbox Code Playgroud)

谢谢.

python django

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

Python:从html页面中解析出版日期

对于html页面和特别是与新闻相关的页面,如果有一种解析出版日期的机制,那将非常有用并且非常有用.

不幸的是,互联网上的日期没有一套正则表达式/模式.CNN可以像MONTH DD,YYYY和HuffingtonPost一样发布它可以发布为MM/DD/YY,等等.

有没有人有任何策略比纯粹的正则表达式解析更好,从html页面中提取出版日期?

谢谢.

python regex

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

Python 2与Python 3正则表达式匹配行为

Python 3

import re

P = re.compile(r'[\s\t]+') 
re.sub(P, ' ', '\xa0 haha')
' haha' 
Run Code Online (Sandbox Code Playgroud)

Python 2

import re

P = re.compile(r'[\s\t]+')
re.sub(P, u' ', u'\xa0 haha')
u'\xa0 haha'
Run Code Online (Sandbox Code Playgroud)

我希望Python 3的行为,但在Python 2代码中.为什么正则表达式模式无法匹配像\xa0Python 2中的类似空间的代码点,但在Python 3中正确匹配这些代码点?

python regex python-3.x

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

如何使用Java的正则表达式来分割嵌套的数学方程式

我很好奇如何使用java的字符串正则表达式有意义地用括号分割数学方程式.没有一个例子很难解释,一个在下面.

可以理解通用的解决方案模式,而不是仅适用于下面提供的示例的模式.

String s = "(5 + 6) + (2 - 18)";
// I want to split this string via the regex pattern of "+",
// (but only the non-nested ones) 
// with the result being [(5 + 6), (2 - 18)]

s.split("\\+"); // Won't work, this will split via every plus.
Run Code Online (Sandbox Code Playgroud)

我主要想要的是第一级分割,我想要一个正则表达式检查以查看像"+"或" - "这样的符号是否以任何形式嵌套,如果是,不要拆分它,如果它不是'拆分它.嵌套可以是()或[]的形式.

谢谢.

java regex string

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

在启动Disqus插件(官方)后,Wordpress评论框消失

网上有指南在Wordpress上激活Disqus,但似乎没有人遇到我遇到的特殊问题.以前安装Disqus我有WP评论,他们工作得很好.在激活Disqus插件,启用讨论/评论以及在任何地方打开评论后,评论框消失了,而不是单一的跟踪.

我的网站上甚至没有跟踪Disqus的痕迹.我不相信这是一个主题问题,因为在禁用主题后,仍然没有评论框.

有谁之前经历过这个吗?我可以在我的模板中查找/调用哪些方法可以调出WP项目?

谢谢.

wordpress disqus

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