小编Ada*_*rrh的帖子

在Google表格中显示Lakhs和Crores

我想使用Google表格来方便全球访问,但我确实需要以Lakh和Crore(印度风格)格式显示数字,以避免管理者之间的混淆.

150,000应显示为,1,50,00012,000,000应显示为1,20,00,000.

我尝试将格式设置为##,##,##,000但我的号码仍显示为12,000,000.我在文档中找不到任何内容.

有谁知道这样做的方法?

google-sheets

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

Django信号:使用update_field作为条件

有人能帮我理解update_fieldDjango信号的论点吗?

根据文件:

update_fields:要在save()方法中明确指定的要更新的字段集.如果在save()调用中未使用此参数,则为none.

我不清楚这意味着什么.我试图使用它来阻止信号功能执行,除非某些字段被更新:

@receiver(post_save, sender=SalesRecord)
def spawn_SaleSource_record(sender, update_fields, created, instance, **kwargs):
    if created or update_fields is 'sale_item' or 'sales_qty':
        *do function*
Run Code Online (Sandbox Code Playgroud)

但是,即使明确更新了未指定的字段,它似乎仍会在保存对象时在另一个信号进程中执行:

x = SalesRecord.objects.filter(paid_off=False, customer=instance.customer).first()
x.paid_off = True
x.save(update_fields=['paid_off'])
Run Code Online (Sandbox Code Playgroud)

我错了吗?

python django django-signals django-models

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

Django Aggregate-零值分区

我正在使用Django的聚合查询表达式来总计一些值.最终值是一个除法表达式,有时可以将零作为分母.如果是这种情况,我需要一种方法来逃避,因此它只返回0.

我尝试了以下内容,因为我一直在使用类似我的注释表达式:

from django.db.models import Sum, F, FloatField, Case, When

def for_period(self, start_date, end_date):
    return self.model.objects.filter(
        date__range=(start_date, end_date)
    ).aggregate(
        sales=Sum(F("value")),
        purchase_cogs=Sum(F('purchase_cogs')),
        direct_cogs=Sum(F("direct_cogs")),
        profit=Sum(F('profit'))
    ).aggregate(
        margin=Case(
            When(sales=0, then=0),
            default=(Sum(F('profit')) / Sum(F('value')))*100
        )
    )
Run Code Online (Sandbox Code Playgroud)

但是,它显然不起作用,因为错误说:

'dict'对象没有属性'aggregate'

处理这个问题的正确方法是什么?

django django-queryset

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

Django测试:Postgres上的setUpTestData抛出:"重复的键值违反了唯一约束"

我在单元测试中遇到了数据库问题.我认为这与我使用TestCase和setUpData的方式有关.

当我尝试使用某些值设置我的测试数据时,测试会抛出以下错误:

django.db.utils.IntegrityError: duplicate key value violates unique constraint 

...

psycopg2.IntegrityError: duplicate key value violates unique constraint "InventoryLogs_productgroup_product_name_48ec6f8d_uniq"
DETAIL:  Key (product_name)=(Almonds) already exists.
Run Code Online (Sandbox Code Playgroud)

我改变了所有的主键,似乎运行正常.它似乎不会影响任何测试.

但是,我担心我做错了什么.当它第一次发生时,我在我的应用程序上反转了大约一个小时的工作量(没有那么多的菜鸟代码),这纠正了问题.

然后,当我重新写入更改时,同样的问题又出现了.TestCase粘贴在下面.我添加sortrecord项后似乎发生了这个问题,但与上面的项相对应.

我不想在我的测试中继续浏览和更改主键和URL,所以如果有人发现我使用它的方式有问题,请帮助我.谢谢!

测试用例

class DetailsPageTest(TestCase):


@classmethod
def setUpTestData(cls):

    cls.product1 = ProductGroup.objects.create(
                        product_name="Almonds"
                        )
    cls.variety1 = Variety.objects.create(
                        product_group = cls.product1,
                        variety_name = "non pareil",
                        husked = False,
                        finished = False,
                        )

    cls.supplier1 = Supplier.objects.create(
                        company_name = "Acme",
                        company_location = "Acme Acres",
                        contact_info = "Call me!"
                        )

    cls.shipment1 = Purchase.objects.create(
                        tag=9,
                        shipment_id=9999,
                        supplier_id = cls.supplier1,
                        purchase_date='2015-01-09',
                        purchase_price=9.99, …
Run Code Online (Sandbox Code Playgroud)

django postgresql django-testing

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

Windows上的GeoDjango:尝试在您的设置中设置GDAL_LIBRARY_PATH

我之前已经做了十几次,但这次有些事情没有用.

关注文档:

https://docs.djangoproject.com/en/1.11/ref/contrib/gis/install/#windows

我正在尝试在Windows机器上设置GeoDjango(这是在paperspace.com上设置的虚拟Windows 10).我的PATH设置似乎有问题,但我无法弄清楚它是什么.我运行了说明中突出显示的命令.我检查了我的PATH变量,一切似乎都没问题.我已经尝试将它们指向32位和64位版本的OSGeo4Win.无论如何,我每次都得到以下输出:

C:\Python\lib\site-packages\floppyforms\__init__.py:21: UserWarning: Unable to import floppyforms.gis, geometry widgets not available
  "Unable to import floppyforms.gis, geometry widgets not available")
Traceback (most recent call last):
  File "manage.py", line 10, in <module>
    execute_from_command_line(sys.argv)
  File "C:\Python\lib\site-packages\django\core\management\__init__.py", line 363, in execute_from_command_line
    utility.execute()
  File "C:\Python\lib\site-packages\django\core\management\__init__.py", line 337, in execute
    django.setup()
  File "C:\Python\lib\site-packages\django\__init__.py", line 27, in setup
    apps.populate(settings.INSTALLED_APPS)
  File "C:\Python\lib\site-packages\django\apps\registry.py", line 108, in populate
    app_config.import_models()
  File "C:\Python\lib\site-packages\django\apps\config.py", line 202, in import_models
    self.models_module = import_module(models_module_name)
  File "C:\Python\lib\importlib\__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], …
Run Code Online (Sandbox Code Playgroud)

python windows django gdal geodjango

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

Django测试:--keepdb重置测试期间所做的更改吗?

根据有关测试的Django文档,该--keepdb标志将保留测试数据库以供将来运行.

https://docs.djangoproject.com/en/1.8/ref/django-admin/#django-admin-option---keepdb

为了清楚起见,测试(即:)的数据库是否object.save()会自动重置?或者这些变化是否需要在测试中反过来?

django django-testing django-tests

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

主管 - 无法以root用户身份启动supervisorct(用户在配置中设置)

我以root身份启动主管:

sudo supervisord -c /etc/supervisor/supervisord.conf

然后我尝试启动supervisorctl:

(myapp)appuser@ip-172-31-21-65:~/appuser$ supervisorctl -c /etc/supervisor/supervisord.conf
Run Code Online (Sandbox Code Playgroud)

主管从以下消息开始:

error: <class 'socket.error'>, [Errno 13] Permission denied: file: /usr/lib/python2.7/socket.py line: 224
Run Code Online (Sandbox Code Playgroud)

尝试以root身份运行第二个命令也不成功.我的理解是这是设计的.

我发现的所有建议都表明我应该将我的用户设置为执行命令的用户,但这已经是我所有配置的方式:

这是我正在使用的脚本文件:

NAME="myapp"                              
DJANGODIR=/home/appuser/myapp             
SOCKFILE=/home/appuser/myapp/gunicorn.sock        
USER=appuser                                        
GROUP=webdata                                     
NUM_WORKERS=1                                     
DJANGO_SETTINGS_MODULE=myapp.settings             
DJANGO_WSGI_MODULE=myapp.wsgi  
Run Code Online (Sandbox Code Playgroud)

我不确定是什么搞砸了?我认为这可能是GROUP设定,因为我不承认这个价值.但如果我发表评论,它似乎没有什么区别.我应该如何解决这个问题?

编辑:我创建了一个名为的组supervisor,添加appuser到它并更改GROUP设置以匹配,但仍然没有快乐.

这是我的supervisord.conf:

; supervisor config file

[unix_http_server]
file=/var/run/supervisor.sock   ; (the path to the socket file)
chmod=0700                       ; sockef file mode (default 0700)

[supervisord]
logfile=/var/log/supervisor/supervisord.log ; (main log file;default $CWD/super$
pidfile=/var/run/supervisord.pid ; (supervisord pidfile;default supervisord.pid)
childlogdir=/var/log/supervisor            ; ('AUTO' child …
Run Code Online (Sandbox Code Playgroud)

python django supervisord gunicorn

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

Python - While-Loop直到列表为空

我正在使用Django,我有一个已转换为list(unpaid_sales)的对象的查询集.我正在执行一个循环遍历此列表并对每个项目进行操作的进程,直到列表为空或给定的整数(bucket)达到零.

我就是这样设置的:

while unpaid_sales:
    while bucket > 0:
        unpaid_sale = unpaid_sales.pop(0)
        ...do stuff
Run Code Online (Sandbox Code Playgroud)

在某些情况下,我收到以下错误:

从空列表中弹出

我的逻辑出了什么问题?

python

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

Bash for循环获取上一个和下一个项目

我想做一个循环,在循环内获取上一个和下一个项目.

目前,我使用以下循环:

for file in $dir;do
    [...do some things...]
done
Run Code Online (Sandbox Code Playgroud)

我可以在C中做一些事情,例如,文件[i-1]/file [i + 1]来获取上一个和下一个项目吗?有没有简单的方法来做到这一点?

bash loops

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

Gunicorn - Unix套接字来自哪里?

我试图配置Gunicorn使用Unix套接字,但我找不到任何关于如何创建这些套接字或如何解决它们的文档.

我正在设置一个Django应用程序,我可以通过指定端口成功启动到http.但是,当我尝试使用Unix套接字时:

gunicorn myapp.wsgi:application --bind=unix:/appuser/myapp/gunicorn.sock
Run Code Online (Sandbox Code Playgroud)

它返回:

[2015-11-21 09:34:21 +0000] [24380] [INFO] Starting gunicorn 19.3.0
[2015-11-21 09:34:21 +0000] [24380] [ERROR] Retrying in 1 second.
[2015-11-21 09:34:22 +0000] [24380] [ERROR] Retrying in 1 second.
[2015-11-21 09:34:23 +0000] [24380] [ERROR] Retrying in 1 second.
[2015-11-21 09:34:24 +0000] [24380] [ERROR] Retrying in 1 second.
[2015-11-21 09:34:25 +0000] [24380] [ERROR] Retrying in 1 second.
[2015-11-21 09:34:26 +0000] [24380] [ERROR] Can't connect to /appuser/myapp/gunicorn.sock
Run Code Online (Sandbox Code Playgroud)

gunicorn.sock位于它应该的位置,但文件是空的.我找不到任何日志或任何东西.我在AWS服务器上使用Nginx,并根据文档设置了所有相关配置.我可以发布我的配置,如果它与此有任何关系.

我该如何解决这个问题?

python unix sockets django gunicorn

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