小编Ant*_*nel的帖子

django 1.9:ProgrammingError:关系"users_user"不存在

我在迁移时遇到了ProgrammingError,我认为这可能与django-allauth与自定义用户的使用有关.这就是我的工作

1 /用psql创建一个新的数据库:

create database dj_example;
Run Code Online (Sandbox Code Playgroud)

2/Installed_apps包含django.contrib.sites:

DJANGO_APPS = (
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.messages',
'django.contrib.staticfiles',
'django.contrib.admin',
)
THIRD_PARTY_APPS = (
'crispy_forms',  # Form layouts
'allauth',  # registration
'allauth.account',  # registration
#'allauth.socialaccount',  # registration
#'allauth.socialaccount.providers.twitter',
'djcelery', #Celery
)
LOCAL_APPS = (
'tucat.users',  # custom users app
}
Run Code Online (Sandbox Code Playgroud)

3/site_id设置为1

SITE_ID = 1
Run Code Online (Sandbox Code Playgroud)

4 /自定义用户模型过于简单:

# -*- coding: utf-8 -*-
from __future__ import unicode_literals, absolute_import
from django.contrib.auth.models import AbstractUser

class User(AbstractUser):
  def __unicode__(self):
    return self.username
Run Code Online (Sandbox Code Playgroud)

5/Makemigrations工作正常

# python manage.py makemigrations
Migrations for …
Run Code Online (Sandbox Code Playgroud)

django django-allauth

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

芹菜:具有相同参数的任务的速率限制

我正在寻找一种限制何时调用函数的方法,但仅当输入参数不同时,即:

@app.task(rate_limit="60/s")
def api_call(user):
   do_the_api_call()

for i in range(0,100):
  api_call("antoine")
  api_call("oscar")
Run Code Online (Sandbox Code Playgroud)

所以,我想api_call("antoine")被称为每秒60次api_call("oscar") 每秒60次为好.

有什么帮助,我该怎么办?

--EDIT 27/04/2015我尝试在任务中调用带有rate_limit的子任务,但它也不起作用:rate_limit总是应用于所有实例化的子任务或任务(这是逻辑的).

@app.task(rate_limit="60/s")
def sub_api_call(user):
   do_the_api_call()

@app.task
def api_call(user):
  sub_api_call(user)

for i in range(0,100):
  api_call("antoine")
  api_call("oscar")
Run Code Online (Sandbox Code Playgroud)

最好!

python rate-limiting ratelimit celery

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

如何将 Superset 连接到 Google Analytics 等外部 API?

我愿意通过他们的 API 将 Google Analytics 和 Google Search Console 数据直接显示到 Superset 中。

  1. 以 JSON 格式直接查询 Google Analytics API(而不是将结果存储到我的数据库中,然后将其显示到 Superset 中)并在 Superset 中显示结果
  2. 以 JSON 格式直接查询 Google Search Console API 并在 Superset 中显示结果
  3. 直接查询其他令人惊叹的 JSON API 并在 Superset 中显示结果

我怎样才能这样做呢?

我找不到 Google Analytics 数据源。我也找不到 Google Search Console 数据源。

我找不到在 Superset 中显示从 API 检索的数据的方法,只能显示存储在数据库中的数据。我肯定遗漏了一些东西,但我在文档中找不到与身份验证和查询外部 API 相关的任何内容。

python google-analytics-api apache-superset

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

Mongodb - 多文本索引:索引键模式太大错误代码 67

我有以下 Mongodb 数据库结构:

{ 
    "_id" : "519817e508a16b447c00020e", 
    "keyword" : "Just an example query", 
    "rankings" : 
    {
        results:
        {
            "1" : { "domain" : "example1.com", "href" : "http://www.example1.com/"},
            "2" : { "domain" : "example2.com", "href" : "http://www.example2.com/"},
            "3" : { "domain" : "example3.com", "href" : "http://www.example3.com/"},
            "4" : { "domain" : "example4.com", "href" : "http://www.example4.com/"},
            "5" : { "domain" : "example5.com", "href" : "http://www.example5.com/"},
            ...
            ...
            "99" : { "domain" : "example99.com", "href" : "http://www.example99.com/"}
            "100" : {"domain" : "example100.com", "href" …
Run Code Online (Sandbox Code Playgroud)

indexing mongodb nosql mongodb-query

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

Mongodb:如果比较运算符有效,为什么要将字符串日期转换为ISOdate?

我有以下类型的文件:

{ 
  "_id" : ObjectId("538d64a11ca6e50941fda4d9"), "_id" : "538d518e20b8fd642e0000e8", 
  "posts" : "some stuff", "date" : "2014-06-02"
}
Run Code Online (Sandbox Code Playgroud)

使用字符串日期的比较运算符(不是Mongodb ISODate)有效:

> collection.find({"date": {"$gte": "2014-06-02"}})
Run Code Online (Sandbox Code Playgroud)

那么为什么我们(麻烦)将字符串日期转换为ISODate呢?

mongodb mongodb-query

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

如何动态设置Scrapy规则?

我有一个类在init之前运行一些代码:

class NoFollowSpider(CrawlSpider):
    rules = ( Rule (SgmlLinkExtractor(allow=("", ),),
                callback="parse_items",  follow= True),
)

def __init__(self, moreparams=None, *args, **kwargs):
    super(NoFollowSpider, self).__init__(*args, **kwargs)
    self.moreparams = moreparams
Run Code Online (Sandbox Code Playgroud)

我使用以下命令运行此scrapy代码:

> scrapy runspider my_spider.py -a moreparams="more parameters" -o output.txt 
Run Code Online (Sandbox Code Playgroud)

现在,我希望命令规则的静态变量可以从命令行进行配置:

> scrapy runspider my_spider.py -a crawl=True -a moreparams="more parameters" -o output.txt
Run Code Online (Sandbox Code Playgroud)

init更改为:

def __init__(self, crawl_pages=False, moreparams=None, *args, **kwargs):
    if (crawl_pages is True):
        self.rules = ( Rule (SgmlLinkExtractor(allow=("", ),), callback="parse_items",  follow= True),
    )
    self.moreparams = moreparams
Run Code Online (Sandbox Code Playgroud)

但是,如果我在init中切换静态变量规则,scrapy不再考虑它:它运行,但只抓取给定的start_urls而不是整个域.似乎规则必须是静态类变量.

那么,我该如何动态设置静态变量呢?

python scrapy

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

排除特定可选后缀的正则表达式

我愿意在短语中间匹配基于 [Ssinn] 的单词:

\n
\n

Sinn、Sinne、Sinnes、sinnbelebte、sinnbelebten、sinnbelebter、sinnerf\xc3\xbclelenden、sinnerf\xc3\xbcllendem、Sinnesgehalt、sinngebenden、Sinnesbest\xc3\xa4nde、Sinnlosigkeit、Sinnesmodifikation、sinnleeren Zeichen、sinnverleihende Akte、Widersinn、更宽的sinnigen A乌斯德鲁克

\n
\n

但要排除以下以-lich后缀开头的

\n
\n

辛利克特

\n
\n

例如,在以下短语中,sinngebenden应匹配,但不匹配 sinnliche

\n
\n

此外,我还认为,在犯罪行为中, der ein ganz anderer ist, je nachdem das Interesse auf das sinnliche Zeichen oder auf das mittels des Zeichens vorstellig gemachte (wenn auch durch keinerlei Phantasievorstellung verbildlichte) Objekt Gerichtet ist, liegt die Bedeutung

\n
\n

到目前为止我想出了

\n
\n

(?:\\S+)?(?:[Ss]inn)(?:\\S+)?

\n
\n

但为了排除lich后缀,我尝试了

\n
\n

(?:\\S+)?(?:[Ss]inn)((?!lich)(?:\\S+))?

\n
\n

这似乎不适用于 Javascript RegEx...

\n

谢谢!

\n

regex regex-negation

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