gpt4 book ai didi

python - 更新表中列值的SQL命令

转载 作者:行者123 更新时间:2023-11-28 22:41:36 26 4
gpt4 key购买 nike

以下是python manage shell

的代码
>>> User.objects.filter(email__icontains="gmail.com").values_list("email", flat=True)
[u'abc@gmail.com', u'vivekbsable@gmail.com', u'vivek@gmail.com', u'xyz@gmail.com', u'vivekbsable@gmail.com']
>>> for ii in User.objects.filter(email__icontains="gmail.com"):
... ii.email = ii.email.replace("@gmail.com", "@custom.com")
... ii.save()
...
...
>>> User.objects.filter(email__icontains="gmail.com").values_list("email", flat=True)
[]
>>> User.objects.filter(email__icontains="@custom.com").values_list("email", flat=True)
[u'vivek@custom.com', u'xyz@custom.com', u'abc@custom.com', u'vivekbsable@custom.com', u'vivekbsable@custom.com']
>>>

我想在 Postgresql 终端中编写 SQL 命令(python 管理 dbshel​​l)

如何在 SQL 命令中转换以上内容?

以下是我的尝试:

[已编辑1]:

通过 SQL 命令获取目标电子邮件 ID:

dp=# SELECT  email FROM auth_user where email LIKE '%@gmail.com';
email
---------------------------
vivek@gmail.com
xyz@gmail.com
abc@gmail.com
vivekbsable@gmail.com
vivekbsable@gmail.com
(5 rows)

dp=#

最佳答案

How can I convert above in SQL command?

您可以查看 Django 为此生成的查询,它可能无法运行(例如缺少由 Django 发送的参数),但它会让您很好地了解 Django 如何将其转换为 SQL

想法是打印这个值:Model.objects.filter(...).values_list(...).query

query = User.objects.filter(email__icontains="@custom.com").values_list("email", flat=True).query

# Make it print it
print query
print(query) # Python 3 or with "from future import print_function"

关于python - 更新表中列值的SQL命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32437153/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com