小编Rob*_*ark的帖子

如何让Django unittest提交/保存数据到数据库

我正在为django调试一个大的单元测试,并希望使用我的常规调试工具来完成它:

  1. 通过runserver查看django管理员中的数据库
  2. 手动查看数据库.

两者都没有工作,因为unittest没有提交它正在运行测试的db端的事务.

显而易见的解决方案似乎是告诉unittest不要使用事务,或让它以某种方式提交.另一种方法是创建一个自定义设置文件,让runserver连接到事务.但第一个想法似乎应该很容易.有任何想法吗?我正在使用MySQL和django 1.3.1

python django unit-testing

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

如何在非连续行上运行命令行命令,指定单独的行号?

例如,假设我想取代foobar上线1,3,11和15.我怎么能这样做呢?

:1,15s/foo/bar
Run Code Online (Sandbox Code Playgroud)

将替换foobar第1-15行.但我想指定多个单独的行(1,3,11,15),而不是范围(1-15).

vim

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

AWS API Gateway Lambda 错误正则表达式的评估顺序是什么?

AWS API Gateway 中的 Lambda 错误正则表达式是否按照列出的顺序(从上到下)进行评估?

例如,在下面的示例中,是否首先评估 201 正则表达式,如果不匹配,则评估 400 正则表达式,如果不匹配,则评估 500 正则表达式?

在此输入图像描述

regex aws-lambda aws-api-gateway

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

"perl -n"和"perl -p"有什么区别?

perl -nperl -p选项有什么区别?

什么是证明差异的简单例子?

你如何决定使用哪一个?

perl

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

如何在循环中消除django查询的低效率?

如何使以下代码更有效(例如,如何用查询替换循环)?

def get_question(datetime_now, questions_queryset, user):
    best_schedule = None
    best_question = None
    # HOW TO ELIMINATE THE FOLLOWING LOOP AND REPLACE WITH A QUERY?
    for question in questions_queryset:
        try:
            schedule = (Schedule.objects
                        .filter(question=question, user=user)
                        .latest(field_name='datetime_added')
        except ObjectDoesNotExist:
            schedule = None
        if (schedule and (schedule.date_show_next >= datetime_now) and
                ((not best_schedule) or
                 (schedule.datetime_added >= best_schedule.datetime_added))):
            best_schedule = schedule
            best_question = question

    return best_question
Run Code Online (Sandbox Code Playgroud)



models.py

from django.contrib.auth.models import User
from django.db.models import DateTimeField, ForeignKey, Model, TextField

class Question(Model):
    question = TextField()

class Schedule(Model):
    datetime_added …
Run Code Online (Sandbox Code Playgroud)

django performance django-queryset

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

如何 git 显示暂存文件?

我可以做,git show <some-commit>:path/to/some/file但是我要替换什么<some-commit>才能获得文件的当前暂存版本?

上下文:我正在编写一个预提交钩子,我想对暂存文件进行检查,而不是诉诸于隐藏未暂存的更改。有没有更好的办法?

git git-show git-stage

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

跳过初始列表项的更简洁方法?(或基于项目的分区列表)

我写了这个函数来过滤列表,以便在看到给定项目后显示所有项目.有点类似于内置字符串方法str.rpartition(sep).我有一种感觉,有一种更紧凑的方式来做到这一点,也许使用列表理解.有任何想法吗?

def ignore_until(the_list, match):
    # Ignore all items in the_list prior to match
    found = False
    for index, item in enumerate(the_list):
        if item == match:
            found = True
            break
    if found:
        return the_list[index:]
    else:
        return []

my_list = ['red','orange','yellow','green']
assert ignore_until(my_list, 'yellow') == ['yellow','green']
assert ignore_until(my_list, 'blue') == []
Run Code Online (Sandbox Code Playgroud)

编辑:

在看到上述问题的答案后,我意识到6个答案中有5个侧重于index()列表数据类型的内置方法.实际上,我需要使用正则表达式,并没有意识到从我的问题中省略它会影响人们的答案.这是正则表达式代码:

import re
def ignore_until(the_list, pattern):
    # Ignore all items in the_list prior to the item containing pattern.
    found = False
    for index, item in enumerate(the_list): …
Run Code Online (Sandbox Code Playgroud)

python list

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

为什么[1] .append(2)求值为None而不是[1,2]?

为什么print [1].append(2)评价为无?我预计[1,2]

>>> print [1].append(2)
None
Run Code Online (Sandbox Code Playgroud)

python

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

vim iTerm ssh:无法复制和粘贴(选择文本时禁用“复制”)

我正在使用 iTerm2。如果我在本地使用 vim 工作正常,我可以用鼠标从我的 vim 会话中复制一些文本。

现在我正在连接到 debian 7,使用相同的配置运行 vim。我选择文本,但现在无法复制:在上下文菜单(右键单击)中,该Copy功能被禁用。我怎样才能复制?

我的.vimrc:https://github.com/arnaudlamy/config/blob/master/.vim/.vimrc

vim ssh mouse copy-paste iterm2

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

如何将 dateutil.relativedelta 对象转换为 datetime.timedelta 对象?

如何将 dateutil.relativedelta 对象转换为 datetime.timedelta 对象?

例如,

# pip install python-dateutil

from dateutil.relativedelta import relativedelta
from datetime import timedelta

rel_delta = relativedelta(months=-2)
# How can I convert rel_delta to a timedelta object so that I can call total_seconds() ?
time_delta = ???(rel_delta)  
time_delta.total_seconds()  # call the timedelta.total_seconds() method
Run Code Online (Sandbox Code Playgroud)

python datetime timedelta relative-date python-dateutil

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