Преобразование raw SQL запроса в 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)
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'
641   2  

2 ответов:

Вы можете использовать QuerySet.filter и еще QuerySet.update:

chat.objects.filter(nick_from=sender_user, nick_to=receiver_user).update(recd='1')

Я действительно не обращаю внимания на ORM-специфические оболочки, предпочитая raw SQL вместо этого. В django вы можете легко сделать это:

chat.objects.raw(''''UPDATE chat  SET recd="1"  WHERE nick_from="%s" AND nick_to="%s"
                       ''' % (sender_user, reciever_user))

Если это не поможет, оставьте комментарий.

Comments

    Ничего не найдено.