在Django admin中,可以设置raw_id_fields以获得搜索小部件而不是选择框.当外键表很大时,这非常简洁,可以节省大量的数据库查询.
Django Rest Framework可浏览视图中的等价物是什么?
我的RabbitMQ服务器似乎正在运行来自Celery的所有连接被拒绝.
这是我的状态:
(venv) root@xyz:/var/log/rabbitmq# sudo -u rabbitmq rabbitmqctl status
Status of node rabbit@xyz ...
[{pid,673},
{running_applications,[{rabbit,"RabbitMQ","3.4.3"},
{os_mon,"CPO CXC 138 46","2.2.14"},
{xmerl,"XML parser","1.3.5"},
{sasl,"SASL CXC 138 11","2.3.4"},
{stdlib,"ERTS CXC 138 10","1.19.4"},
{kernel,"ERTS CXC 138 10","2.16.4"}]},
{os,{unix,linux}},
{erlang_version,"Erlang R16B03 (erts-5.10.4) [source] [64-bit] [smp:4:2] [async-threads:30] [kernel-poll:true]\n"},
{memory,[{total,40492248},
{connection_readers,0},
{connection_writers,0},
{connection_channels,0},
{connection_other,6856},
{queue_procs,2704},
{queue_slave_procs,0},
{plugins,0},
{other_proc,13684848},
{mnesia,0},
{mgmt_db,0},
{msg_index,2263632},
{other_ets,766920},
{binary,2761320},
{code,16179613},
{atom,561761},
{other_system,4264594}]},
{alarms,[]},
{listeners,[]},
{vm_memory_high_watermark,0.4},
{vm_memory_limit,858993459},
{disk_free_limit,50000000},
{disk_free,21639958528},
{file_descriptors,[{total_limit,924},
{total_used,3},
{sockets_limit,829},
{sockets_used,1}]},
{processes,[{limit,1048576},{used,106}]},
{run_queue,0},
{uptime,1619146}]
Run Code Online (Sandbox Code Playgroud)
这是我尝试重启时得到的:
root@xyz:/var/log/rabbitmq# sudo -u rabbitmq rabbitmqctl stop …Run Code Online (Sandbox Code Playgroud) 我有 2 个模型:Product和Order.
Product有一个股票的整数字段,而Order有一个状态和一个外键Product:
class Product(models.Model):
name = models.CharField(max_length=30)
stock = models.PositiveSmallIntegerField(default=1)
class Order(models.Model):
product = models.ForeignKey('Product')
DRAFT = 'DR'; INPROGRESS = 'PR'; ABORTED = 'AB'
STATUS = ((INPROGRESS, 'In progress'),(ABORTED, 'Aborted'),)
status = models.CharField(max_length = 2, choices = STATUS, default = DRAFT)
Run Code Online (Sandbox Code Playgroud)
我的目标是让每个新订单的产品库存减少一个,每个订单取消增加一个。为此,我重载了模型的save方法Order(受Django启发:保存时,如何检查字段是否已更改?):
from django.db.models import F
class Order(models.Model):
product = models.ForeignKey('Product')
status = models.CharField(max_length = 2, choices = STATUS, default …Run Code Online (Sandbox Code Playgroud) 有没有办法禁用 LogCat 中的滚动?
我使用的是 Android Studio 0.2.10。
有没有办法在分支上以增量方式使用filter-branch?
粗略地说这样(但这实际上并不起作用):
git checkout -b branchA origin/branchA
git branch headBranchA
# inital rewrite
git filter-branch ... -- branchA
git fetch origin
# incremental rewrite
git filter-branch ... -- headBranchA..origin/branchA
git merge origin/branchA
Run Code Online (Sandbox Code Playgroud) 我想在我的 AndroidManifest 中插入最后一次 git commit 的哈希值(更具体地说是 versionCode 标签)。
我在 Android Studio 中使用 gradle。
看起来,无论何时transaction.set_autocommit(False)在测试用例中使用,都会得到以下堆栈跟踪:
transaction.set_autocommit(False)
File "/Users/btoueg/src/python/python3.3.3_django1.6.1/lib/python3.3/site-packages/django/db/transaction.py", line 133, in set_autocommit
return get_connection(using).set_autocommit(autocommit)
File "/Users/btoueg/src/python/python3.3.3_django1.6.1/lib/python3.3/site-packages/django/db/backends/__init__.py", line 331, in set_autocommit
self.validate_no_atomic_block()
File "/Users/btoueg/src/python/python3.3.3_django1.6.1/lib/python3.3/site-packages/django/db/backends/__init__.py", line 360, in validate_no_atomic_block
"This is forbidden when an 'atomic' block is active.")
django.db.transaction.TransactionManagementError: This is forbidden when an 'atomic' block is active.
Run Code Online (Sandbox Code Playgroud)
这是正常行为吗?出于性能原因,Django的TestCase类似乎将每个测试包装在事务中。
所以问题是:如果它已经使用了事务,如何在Django Testcase中测试代码?
我正在Django 1.6和PostgreSQL 9.2中使用
我在Windows上,安装了32位python 2.6.6和psycopg2.
当psycopg2尝试连接时,它会得到OperationalError:
Python 2.6.6 (r266:84297, Aug 24 2010, 18:46:32) [MSC v.1500 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import psycopg2
>>> conn = psycopg2.connect("dbname=your_database user=postgres password=xxxx host=127.0.0.1:5432")
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "C:\Python26\lib\site-packages\psycopg2\__init__.py", line 164, in connect
conn = _connect(dsn, connection_factory=connection_factory, async=async)
psycopg2.OperationalError: could not translate host name "127.0.0.1:5432" to address: Unknown server error
Run Code Online (Sandbox Code Playgroud)
我可以使用pgAdmin3连接到PostgreSQL实例127.0.0.1:5432.
任何的想法?
一切都很好,直到:
celery beat v3.1.18 (Cipater) is starting.
__ - ... __ - _
Configuration ->
. broker -> amqp://user:**@staging-api.user-app.com:5672//
. loader -> celery.loaders.app.AppLoader
. scheduler -> celery.beat.PersistentScheduler
. db -> /tmp/beat.db
. logfile -> [stderr]@%INFO
. maxinterval -> now (0s)
[2015-09-25 17:29:24,453: INFO/MainProcess] beat: Starting...
[2015-09-25 17:29:24,457: CRITICAL/MainProcess] beat raised exception <class 'EOFError'>: EOFError('Ran out of input',)
Traceback (most recent call last):
File "/home/user/staging/venv/lib/python3.4/site-packages/kombu/utils/__init__.py", line 320, in __get__
return obj.__dict__[self.__name__]
KeyError: 'scheduler'
During handling of the above exception, another exception …Run Code Online (Sandbox Code Playgroud) 我正在我的一个UIViewController上测试viewDidLoad事件.
- (void)testMyView
{
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil];
MyViewController *vc = [storyboard instantiateViewControllerWithIdentifier:MYID];
[vc viewDidLoad];
STAssertNotNil(vc, @"MyViewController should not be nil");
}
Run Code Online (Sandbox Code Playgroud)
如果我删除该行[vc viewDidLoad];,viewDidLoad则永远不会触发.
如果我让位[vc viewDidLoad];,viewDidLoad则触发两次.
我知道视图是延迟加载的,但我怎么能避免这种行为呢?
有关View测试的最佳实践吗?
postgresql ×3
django ×2
celery ×1
celerybeat ×1
git ×1
ios ×1
kombu ×1
psycopg2 ×1
rabbitmq ×1
transactions ×1
unit-testing ×1