我有这个SQL查询:
"INSERT INTO $TABLENAME (address, count) VALUES(%s, %s) \
ON DUPLICATE KEY UPDATE count = VALUES(count) + count"
如何将其翻译成django?
答案 0 :(得分:0)
我认为您正在寻找get_or_create
https://docs.djangoproject.com/en/dev/ref/models/querysets/#get-or-create
前面的示例假设$ TABLENAME由名为MyModel的django模型表示:
models.py:
class MyModel(models.Model):
address = models.CharField(max_length=300, unique=True)
count = models.IntegerField(default=0)
views.py:
new_model, created = MyModel.objects.get_or_create(address="123 1st st")
new_model.count += 1
new_model.save()
get_or_create将创建具有给定属性的新对象,或者如果它已经存在,它将返回您可以更新的现有对象。