使用PostgreSQL在Django中寻找读写锁,例如SELECT FOR SHARE

问题描述 投票:3回答:2

我正在使用PostgreSQL在Django中锁定读写锁。

现在我想知道:

  1. 是否有充分的理由未在Django-ORM中实现?
  2. 有人为此知道任何第三方库吗?
  3. 或任何简单的解决方法?
sql django postgresql concurrency django-orm
2个回答
0
投票

不能将逻辑包装在使用select进行共享的pl / pgsql函数中,然后从Django调用该函数吗?


0
投票
  1. 是否有充分的理由未在Django-ORM中实现?

您发布的票证可能提供了原因:没有足够的动力来编写补丁。

  1. 有人为此知道任何第三方库吗?

不是我,对不起。而且,如果您有任何机会考虑放弃Django以使用其他ORM,那么您必须问自己:“ Django中缺少我需要的功能...在其他ORM中我会缺少哪些功能?”

  1. 或任何简单的解决方法?

可能不是。但是这里有一些选择:

  1. 我知道的每个ORM都有对原始SQL的转义。您可能知道这一点,但不愿意使用它...但是,由于您也缺乏发出请求的动力,因此这可能意味着您没有数百个需要SELECT FOR SHARE功能的请求。所以你应该考虑一下。 super old Django-ticket
  2. SELECT FOR SHARE中提到的存储过程Performing raw SQL queries
  3. 关于您发表的问题的最后评论来自一个人(DavidSchwärzle),他声称他有解决方案(不是专门针对PostgreSQL的解决方案,但仍然有解决方案的……但是,您应该尝试与他联系。
  4. 没有尝试过,但是可能添加所需功能的方法是通过steve
© www.soinside.com 2019 - 2024. All rights reserved.