小编WBA*_*BAR的帖子

用于'return(value =='ok')的pythonic方式?'ok':'nok'`

可能重复:
Python中的三元条件运算符

我有这个问题,不知道谷歌这个问题:

(value == 'ok') ? 'ok' : 'not ok'

我的意思是语法:

(expression) ? (return if <expresion> is true) : (return this value if <expresion> is false
Run Code Online (Sandbox Code Playgroud)

python python-2.7

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

如何在sqlite django ORM中实现having子句

我编写了django sqlite orm语法来检索特定的记录集:

from django.db.models.aggregates import Count

JobStatus.objects.filter(
    status='PRF'
).values_list(
    'job', flat=True
).order_by(
    'job'
).aggregate(
    Count(status)__gt=3
).distinct()
Run Code Online (Sandbox Code Playgroud)

但是它给了我一个错误,这个语法的sql等效对我来说很好.

这是我的sql等价物.

SELECT *
  FROM tracker_jobstatus
 WHERE status = 'PRF'
 GROUP BY job_id
HAVING COUNT(status) > 3;
Run Code Online (Sandbox Code Playgroud)

我得到的结果如下

+----+--------+--------+---------+---------------------+---------+
| id | job_id | status | comment | date_and_time       | user_id |
+----+--------+--------+---------+---------------------+---------+
| 13 |      3 | PRF    |         | 2012-11-12 13:16:00 |       1 |
| 31 |      4 | PRF    |         | 2012-11-12 13:48:00 |       1 |
+----+--------+--------+---------+---------------------+---------+
Run Code Online (Sandbox Code Playgroud)

我无法找到与此相关的django sqlite.

如果有人能提供帮助,我将非常感激.

python sqlite django orm django-models

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

PLSQL:VARBIABLE:= SEQUENCE.NEXTVAL或SELECT SEQUENCE.NEXTVAL到VARIABLE中的双重?

PL/SQL与以下内容有什么区别:

CREATE OR REPLACE FUNCTION WBAR_TEST_1 RETURN NUMBER IS
  LN_TMP NUMBER;
BEGIN
  LN_TMP := SOME_SEQUENCE.NEXTVAL;
  RETURN LN_TMP;
END WBAR_TEST_1;
Run Code Online (Sandbox Code Playgroud)

CREATE OR REPLACE FUNCTION WBAR_TEST_2 RETURN NUMBER IS
  LN_TMP NUMBER;
BEGIN
  SELECT SOME_SEQUENCE.NEXTVAL INTO LN_TMP FROM DUAL;
  RETURN LN_TMP;
END WBAR_TEST_2;
Run Code Online (Sandbox Code Playgroud)

我认为第二种方法仅用于历史目的.

plsql oracle11g oracle11gr2

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

在PostgreSQL中将整数转换为枚举

我创建了一个自定义数据类型枚举,如下所示:

create type "bnfunctionstype" as enum ( 
    'normal', 
    'library', 
    'import', 
    'thunk', 
    'adjustor_thunk' 
);
Run Code Online (Sandbox Code Playgroud)

从外部数据源我得到[0,4]范围内的整数.我想将这些整数转换为相应的枚举值.

我怎样才能做到这一点?

我正在使用PostgreSQL 8.4.

sql postgresql enums integer type-conversion

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

如何在Oracle 11上检查索引构建状态?

我在SQL索引创建中犯了一个可怕的错误:

create index IDX_DATA_TABLE_CUSECO on DATA_TABLE (CUSTOMER_ID, SESSION_ID, CONTACT_ID)
  tablespace IDX_TABLESPACE LOCAL ;
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,我错过了关键字"ONLINE"来创建索引而不会阻止具有600m +记录的高使用率的PRODUCTION表.更正的SQL是:

create index IDX_DATA_TABLE_CUSECO on DATA_TABLE (CUSTOMER_ID, SESSION_ID, CONTACT_ID)
  tablespace IDX_TABLESPACE LOCAL ONLINE;
Run Code Online (Sandbox Code Playgroud)

我是在PL/SQL Developer下完成的.当我试图阻止程序停止响应并崩溃.

生产系统现在不工作9个小时,我的老板想要爆炸.:d

有没有机会看到Oracle 11g离开多少秒/分钟/小时来处理这个索引创建?或者也许有机会看到Oracle仍在处理此请求吗?(PL/SQL Developer崩溃).

仇恨者:我知道我应该像这里提到的那样:( 来源)

CREATE INDEX cust_idx on customer(id) UNUSABLE LOCAL;
ALTER INDEX cust_idx REBUILD parallel 6 NOLOGGING ONLINE;
Run Code Online (Sandbox Code Playgroud)

oracle indexing plsql oracle11g plsqldeveloper

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

Django 1.4.1错误报告不会给我发电子邮件

这个问题可能是一个重复的问题,对此感到抱歉.

我正在使用Django 1.4.1并在我设置的生产服务器DEBUGFalse.有时,用户会收到Exception,服务器会显示500.html模板,但不会发送ADMINS部分配置的电子邮件settings.py.

在应用程序中发送电子邮件已正确配置,因为在注册过程中我可以收到欢迎电

片段我的settings.py:

DEBUG = False
TEMPLATE_DEBUG = DEBUG

ADMINS = (
    ('example', 'example@example.com'), # this changed but my email is correct
)

MANAGERS = ADMINS

MIDDLEWARE_CLASSES = (
    'django.middleware.common.CommonMiddleware',
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.csrf.CsrfViewMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
    'django.contrib.flatpages.middleware.FlatpageFallbackMiddleware',
    'django.middleware.transaction.TransactionMiddleware',
    'django.middleware.clickjacking.XFrameOptionsMiddleware',
)
LOGGING = {
    'version': 1,
    'disable_existing_loggers': False,
    'filters': {
        'require_debug_false': {
            '()': 'django.utils.log.RequireDebugFalse'
        }
    },
    'handlers': {
        'mail_admins': {
            'level': 'ERROR',
            'filters': ['require_debug_false'],
            'class': 'django.utils.log.AdminEmailHandler'
        } …
Run Code Online (Sandbox Code Playgroud)

django django-1.4

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

如何在 Django REST 中引发错误/返回 {"foo":["This field is required."]} 响应

假设我有一个视图,我需要在调用 serializer.save 之前检查是否给出了一个字段,以确保我没有收到字典键错误:

class BarView(CreateAPIView):
    serializer_class = BarSerializer
    queryset = Bar.objects.all()
    def perform_create(self, serializer):
        if 'foo' not in self.request.data:
            raise ParseError('foo field required.')
        foo = get_object_or_404(Foo, pk=self.request.data['foo'])
        if foo.counter == 10:
            raise ParseError('foo limit reached.')
        return serializer.save(user=self.request.user, foo=foo)
Run Code Online (Sandbox Code Playgroud)

而不是返回的"foo field required."我想返回的消息一样Django的REST返回如{"foo":["This field is required."]}

有一个更好的方法吗?也许使用序列化程序单独验证 foo 字段?

更新:我忘了提到用户字段也是必需的。

Bar 的模型是:

class Bar(models.Model):
    user = models.ForeignKey(User, db_index=True, editable=False)
    foo = models.ForeignKey(Foo, db_index=True)
Run Code Online (Sandbox Code Playgroud)

python django django-rest-framework

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

Oracle 11g:LISTAGG忽略NULL值

我有一些TABLE1数据表:

+------------+
|    COL1    |
+------------+
|   FOO      |
|   BAR      |
|  (null)    |
|   EXP      |
+------------+
Run Code Online (Sandbox Code Playgroud)

FIDDLE

当我执行时:

SELECT listagg(col1, '#') within group(ORDER BY rownum) 
  FROM table1
Run Code Online (Sandbox Code Playgroud)

我收到:FOO#BAR#EXP但我想拥有:FOO#BAR##EXP

LISTAGG忽略空单元格:/)

有没有实现自己的功能的想法吗?

sql plsql oracle11g

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

Oracle 11gR2:我可以使用DBMS_PARALLEL_EXECUTE来运行我的自定义PL/SQL代码吗?

我准备了一些小提琴:

CREATE TABLE t_process
    ("process_number" int, "process_status" varchar2(12))
;

INSERT ALL 
    INTO t_process ("process_number", "process_status")
         VALUES (1, 'PROCESSING')
    INTO t_process ("process_number", "process_status")
         VALUES (2, 'PROCESSING')
    INTO t_process ("process_number", "process_status")
         VALUES (3, 'TO_BE_KILLED')
    INTO t_process ("process_number", "process_status")
         VALUES (4, 'PROCESSING')
    INTO t_process ("process_number", "process_status")
         VALUES (5, 'PROCESSING')
    INTO t_process ("process_number", "process_status")
         VALUES (6, 'TO_BE_KILLED')
    INTO t_process ("process_number", "process_status")
         VALUES (7, 'TO_BE_KILLED')
    INTO t_process ("process_number", "process_status")
         VALUES (8, 'WAITING')
    INTO t_process ("process_number", "process_status")
         VALUES (9, 'KILLED')
SELECT * FROM dual …
Run Code Online (Sandbox Code Playgroud)

database plsql oracle11g

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

Django 1.8在lower()函数上选择distinct会抛出AttributeError

我有简单的表:

class Author(models.Model):
    name = models.CharField(max_length=40)
Run Code Online (Sandbox Code Playgroud)

我想使用Django ORM编写Query类似于:

SELECT DISTINCT LOWER(name) from my_app_author;
Run Code Online (Sandbox Code Playgroud)

我终于结束了:

Author.objects.annotate(
    name_lower=Func(F('name'), function='lower')
).distinct('name_lower')
Run Code Online (Sandbox Code Playgroud)

但我收到错误:

Traceback (most recent call last):
  File "/opt/venv/lib/python3.4/site-packages/django/db/models/query.py", line 138, in __repr__
    data = list(self[:REPR_OUTPUT_SIZE + 1])
  File "/opt/venv/lib/python3.4/site-packages/django/db/models/query.py", line 162, in __iter__
    self._fetch_all()
  File "/opt/venv/lib/python3.4/site-packages/django/db/models/query.py", line 965, in _fetch_all
    self._result_cache = list(self.iterator())
  File "/opt/venv/lib/python3.4/site-packages/django/db/models/query.py", line 238, in iterator
    results = compiler.execute_sql()
  File "/opt/venv/lib/python3.4/site-packages/django/db/models/sql/compiler.py", line 829, in execute_sql
    sql, params = self.as_sql()
  File "/opt/venv/lib/python3.4/site-packages/django/db/models/sql/compiler.py", line 381, in as_sql
    distinct_fields = self.get_distinct()
  File …
Run Code Online (Sandbox Code Playgroud)

python django

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