2つの表現があります。例外を発生させる場合は1つの式を試す必要がありますが、2番目の式も例外を発生させる場合は、例外を発生させます。
私はこれを試しましたが、見た目が醜く、この問題を解決するための最良の方法かどうかはわかりません。
try:
image = self.images.order_by(func.random()).limit(1)
except:
try:
image = self.images.order_by(func.rand()).limit(1)
except ProgrammingError:
raise ProgrammingError(
'The database engine must be PostgtreSQL or MySQL')
どうしますか?