我有个模特说,
class ABC(models.Model):
x = models.CharFeild(max_length=100)
y = model.IntegerFeild(default=1)
另一种模式是,
class XYZ(models.Model):
a = models.CharFeild(max_length=100)
abc = model.ForeignKey(ABC, db_index=True)
我现有的数据库看起来像,
ABC
id x y
1 a 10
2 b 20
3 c 30
. . .
. . .
XYZ
id a abc_id
1 x 1
2 y 2
3 z 3
. . .
. . .
所以现在我想更新这个字段,如果它在模型xyz中存在,也就是说,更改列'a'的值,其中\u id=1、2或3,如果这个\u id不存在,那么创建一个新行。
2条答案
按热度按时间ocebsuys1#
使用
update_or_create()
查询集方法注意:我不确定是否可以添加逻辑或条件
update_or_create()
方法更新
这也可以通过,
dw1jzc5e2#
有很多方法来更新记录,如果存在,在我下面的例子中,我将创建一个公司简介模型,这将只使用一次的网站,它不应该重复,因为你会看到我们将使用'comp\u prof\u identity'的默认值来检查/更新记录,如果存在,如果没有创建它。
model.py文件:
视图.py
我希望这对你有帮助,这只是一个例子,得到的概念,你可以使用这个概念,并使用它在你想在不同的情况下。