Postgresql 有一个很好的有条件插入的语法:
INSERT INTO child (name, parent_id)
SELECT :name, :parent_id
WHERE EXISTS (
SELECT 1
FROM parent
WHERE id = :parent_id
AND parent.user_id = :user_id
)
在上面的示例中,除非给定的 :user_id 是父行的所有者,否则不会向子行插入任何内容。
是否可以在 Django 中模拟这种插入?