3

我在我的 Django 项目中为 pgcrypto使用https://github.com/incuna/django-pgcrypto-fields 。它可以很好地插入、更新字段。但是当我尝试类似的东西时

MyTable.objects.filter(some_code=somecode).update(
                    some_value=some_price * F('some_units'),
                    updated_on=datetime.now()
                )

它让我 psycopg2.errors.UndefinedFunction: function pgp_sym_encrypt(numeric, unknown) 不存在

任何帮助都会很棒。谢谢 :)

4

1 回答 1

1

要使用 pgcrypto 函数,必须在数据库中创建 pgcrypto 扩展。

$  psql mydbname -c 'CREATE EXTENSION pgcrypto;'
CREATE EXTENSION
$  psql mydbname -c '\dx'
                            List of installed extensions
   Name    | Version |   Schema   |                   Description                   
-----------+---------+------------+-------------------------------------------------
 pgcrypto  | 1.3     | public     | cryptographic functions
...
于 2020-07-26T17:03:01.880 回答