相关疑难解决方法(0)

我可以让PyCharm在一条线上抑制特定的警告吗?

PyCharm在代码样式,约定和逻辑陷阱上提供了一些有用的警告.如果我尝试提交带有警告(或错误)的代码,它也会提供通知.

有时我会有意识地忽略特定代码行的这些警告(出于各种原因,通常要考虑第三方库的实现细节).我想要压制警告,但只是为了那条线(如果警告出现在我不是故意的另一条线上,我想知道它!)

我怎么能在PyCharm中做到这一点?(遵循通用Python约定非常可取.)

python compiler-warnings suppress-warnings pycharm

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

Django 打字提示

我创建了一个空迁移,现在看起来像这样:

def forwards(apps, schema_editor):
    Foo = apps.get_model('app', 'Foo')
    FixedResponse.objects.create(name='Bar')


def backwards(apps, schema_editor):
    Foo = apps.get_model('app', 'Foo')
    Foo.objects.filter(name='Bar').delete()


class Migration(migrations.Migration):

    dependencies = [
        ('app', '0035_fixedresponse'),
    ]

    operations = [
        migrations.RunPython(forwards, backwards)
    ]
Run Code Online (Sandbox Code Playgroud)

由于没有关于此主题(特定于迁移)或最佳实践的 Django 文档,

我想知道如何输入提示上面的代码?

django django-migrations

5
推荐指数
2
解决办法
840
查看次数

如何类型提示 Python 函数返回从超类派生的任何类的实例?

我有一堆 Django 模板包含标签,它们将数据库对象的特定实例或 string/int 作为参数,它被解释为该数据库对象的主键。例如...

{% render_product product=obj %}
{% render_product product=42 %}
{% render_product product="42" %}
Run Code Online (Sandbox Code Playgroud)

...一切都工作正常并且做了显而易见的事情:它们使用特定的 Product 实例渲染模板片段,如果需要的话,通过主键从数据库中获取它。这是 Product 和类似类的定义方式:

class Product(models.Model):
    # standard django model definition goes here
Run Code Online (Sandbox Code Playgroud)

以下是此类包含标签中通常会发生的情况:

@register.inclusion_tag("render_product.html")
def render_product(product: Union[Product, str, int] = None) -> dict:
    _product = None
    if isinstance(product, Product):
        _product = product
    elif isinstance(product, str) or isinstance(product, int):
        try:
            _product = Product.objects.get(pk=product)
        except (Product.DoesNotExist, ValueError):
            pass
    return {"product": _product}
Run Code Online (Sandbox Code Playgroud)

由于我在数十个包含标签中出现了相同的模式,因此我尝试将其重构,以便得到类似的内容:

@register.inclusion_tag("render_product.html")
def render_product(product: Union[Product, str, int] = None) -> dict:
    _product …
Run Code Online (Sandbox Code Playgroud)

python django typing type-hinting

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