小编lio*_*ayn的帖子

django 权限:在所有其他迁移之后插入新权限

我向我的模型添加了新权限,然后使用了manage.py makemigrations。它创建了一个改变模型选项(特别是权限......)的迁移。

后来,我添加了一个依赖于第一个迁移的迁移,并使用了权限(我相信创建的第一个迁移)。该迁移使用了查询 auth_permissions 的 RunSQL 操作中的权限。

当我调试迁移时 - 我意识到只有在应用所有迁移之后才会插入身份验证权限。

含义 - 当我尝试查询权限的 id 以便在第二次迁移中使用它时 - 它不存在,因此第二次迁移不会按预期运行。

知道为什么会发生这种情况以及如何预防吗?我在添加新权限时的假设是,它将与 django 为我创建的迁移一起添加......而不是在不同的阶段。

谢谢!

django permissions django-models django-migrations

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

芹菜签名集的最大重试次数未更新

嘿 :)

所以我在代码中遇到了一个错误,在尝试解决它时 - 我编写了这个小芹菜任务:

@shared_task(bind=True, name='sometask', autoretry_for=(Exception,), default_retry_delay=1)
def sometask(self, items, *args, **kwargs):
    print(self.max_retries)
    raise Exception
Run Code Online (Sandbox Code Playgroud)

我尝试通过在签名上调用 set() 来覆盖重试:

s = sometask.s(items=[]).set(max_retries=200, countdown=1)
s()
Run Code Online (Sandbox Code Playgroud)

当我检查输出时,我可以看到打印的是 3 - celery 中默认的最大重试次数。而不是我的200..

谁能告诉我我做错了什么?

我需要覆盖最大重试次数,这似乎是我唯一的选择,但它并不像我预期的那样工作。

谢谢!

python signature celery

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