可能重复:
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) 我编写了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.
如果有人能提供帮助,我将非常感激.
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)
我认为第二种方法仅用于历史目的.
我创建了一个自定义数据类型枚举,如下所示:
create type "bnfunctionstype" as enum (
'normal',
'library',
'import',
'thunk',
'adjustor_thunk'
);
Run Code Online (Sandbox Code Playgroud)
从外部数据源我得到[0,4]范围内的整数.我想将这些整数转换为相应的枚举值.
我怎样才能做到这一点?
我正在使用PostgreSQL 8.4.
我在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)
这个问题可能是一个重复的问题,对此感到抱歉.
我正在使用Django 1.4.1并在我设置的生产服务器DEBUG上False.有时,用户会收到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) 假设我有一个视图,我需要在调用 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) 我有一些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忽略空单元格:/)
有没有实现自己的功能的想法吗?
我准备了一些小提琴:
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) 我有简单的表:
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) django ×4
oracle11g ×4
plsql ×4
python ×4
sql ×2
database ×1
django-1.4 ×1
enums ×1
indexing ×1
integer ×1
oracle ×1
oracle11gr2 ×1
orm ×1
postgresql ×1
python-2.7 ×1
sqlite ×1