小编Ben*_*ueg的帖子

如何在django-rest-framework中设置raw_id_fields?

在Django admin中,可以设置raw_id_fields以获得搜索小部件而不是选择框.当外键表很大时,这非常简洁,可以节省大量的数据库查询.

Django Rest Framework可浏览视图中的等价物是什么?

django-rest-framework

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

无法重启Rabbitmq:badarg rpc.erl第206行

我的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)

rabbitmq

6
推荐指数
0
解决办法
2262
查看次数

Django 中的并发请求

我有 2 个模型:ProductOrder.

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)

django postgresql transactions django-rest-framework

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

如何阻止 LogCat 输出在 Android Studio 中自动滚动?

有没有办法禁用 LogCat 中的滚动?

我使用的是 Android Studio 0.2.10。

android-studio

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

以增量方式使用filter-branch的任何方法

有没有办法在分支上以增量方式使用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)

git git-rewrite-history

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

如何创建 Android Studio 构建脚本以在构建版本中插入 git commit hash?

我想在我的 AndroidManifest 中插入最后一次 git commit 的哈希值(更具体地说是 versionCode 标签)。

我在 Android Studio 中使用 gradle。

android-manifest android-studio android-gradle-plugin

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

Django,PostgreSQL,set_autocommit和测试用例

看起来,无论何时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中使用

django postgresql

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

psycopg2无法看到我的PostgreSQL实例

我在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.

任何的想法?

postgresql psycopg2

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

芹菜击败没有开始EOFError('输出输出')

一切都很好,直到:

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)

celery kombu celerybeat

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

UnitTests和iOs:viewDidLoad触发两次

我正在我的一个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测试的最佳实践吗?

unit-testing ios

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