使用ManyToManyField更新update_or_create

时间:2015-08-25 11:47:36

标签: django django-models django-orm

我有2个型号,如下:

tag_1 = Subs.object.get(pk=1)
Users.objects.update_or_create(name='test_user', tags=tag_1)

我需要更新标签字段 - 添加新值。 如何使用update_or_create方法更新用户的实例?

例如:

$string = '[(123,234,34)tes2t.jpg*@*test.jpg]';//dynamic no of files

如果用户'test_user'不存在,则必须创建它,如果存在,则必须将tag_1添加到该用户。

1 个答案:

答案 0 :(得分:6)

无法在tags中添加update_or_create,因为tagsManyToManyField,因此涉及数据库查询的中间表。

但是,您可以使用get_or_create分两行:

user = Users.objects.get_or_create(name='test_user')
user.tags.add(tag_1)