Python 将原始SQL查询转换为Django查询集
这是我当前的SQL查询Python 将原始SQL查询转换为Django查询集,python,django,django-queryset,Python,Django,Django Queryset,这是我当前的SQL查询 '''UPDATE chat SET recd="1" WHERE nick_from="%s" AND nick_to="%s" ''' % (sender_user, reciever_user) 我想把它转换成Django ORM QuerySet 模型如下所示 class Chat(models.Model): # id = models.IntegerField(primary_key=True
'''UPDATE chat SET recd="1" WHERE nick_from="%s" AND nick_to="%s"
''' % (sender_user, reciever_user)
我想把它转换成Django ORM QuerySet
模型如下所示
class Chat(models.Model):
# id = models.IntegerField(primary_key=True)
nick_from = models.CharField(max_length=255)
nick_to = models.CharField(max_length=255)
message = models.TextField()
sent = models.DateTimeField()
recd = models.IntegerField()
time = models.BigIntegerField()
recd_email = models.IntegerField()
class Meta:
db_table = 'chat'
我并不真正关注ORM特定的垫片,而是倾向于原始SQL。在django中,您可以: 如果没有帮助,请留下评论。您可以使用和:
如何从
更新
查询中获得结果?显示模型定义。谢谢。我已经添加了模型class@eddwinpaz,我不明白。我给了你答案。它不工作吗?它执行查询,但不将值更新为1,也不给出任何值errors@eddwinpaz,尝试删除所有尝试。。。除了…
。它可能会隐藏发生的错误。我确实这样做了,但仍然没有显示任何错误,查询会被执行,但不会对数据库执行任何更改。@eddwinpaz,您能否将其放在…update…
语句之后,并检查执行了什么查询<代码>从django.db导入连接;print(connection.querys[-1]['sql'])这是一篇老文章,但django ORM太差劲了,所以他们的原始包装。
chat.objects.raw(''''UPDATE chat SET recd="1" WHERE nick_from="%s" AND nick_to="%s"
''' % (sender_user, reciever_user))
chat.objects.filter(nick_from=sender_user, nick_to=receiver_user).update(recd='1')