python - Django:在添加之前检查对象是否已经存在

标签 python django

如何检查一个对象是否已经存在,如果它已经存在才添加它?

这是代码 - 如果 follow_role 已经存在,我不想在数据库中添加两次。我如何先检查?也许使用 get() - 但是如果 get() 没有返回任何东西,Django 会提示吗?

current_user = request.user
follow_role = UserToUserRole(from_user=current_user, to_user=user, role='follow')
follow_role.save()

最佳答案

在您的模型管理器上有一个名为“get_or_create”的习语的辅助函数:

role, created = UserToUserRole.objects.get_or_create(
    from_user=current_user, to_user=user, role='follow')

它返回一个 (model, bool) 元组,其中“model”是您感兴趣的对象,“bool”告诉您是否必须创建它。

关于python - Django:在添加之前检查对象是否已经存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1821176/

相关文章:

python - 使用 AppAssertionCredentials 来自 Google Admin SDK 的 403 错误

具有 Alpha channel 背景的 Python 文本

django - 使用 Django 模板系统提供 CSS 和 JavaScript 的优缺点是什么

python - 从多维列表 Python 中获取项目

python - uwsgi/nginx 上的 Flask 应用程序 - 启动时不创建 unix 套接字文件

Django - Admin - 内联 - 基于某些条件的 'extra' 值

python - 持久性 "CSRF token missing or incorrect."。 Jinja 和 django 注册设置

python - 操作数无法与形状一起广播 (128,) (0,) 错误

Django 迁移和 docker 容器

python - 通过热图绘制横截面