如何使用 get_or_create 方法创建的对象?

How to use the created objects from get_or_create method?

这里如果创建的对象我想在另一个模型中使用这个对象。我该怎么做 ? 我想 created returns 布尔值所以我怎样才能得到创建的对象?

value, created = MyModel.objects.get_or_create(field1=field1, field2=field2)
if created:
     another_model_obj.manytomanyfield.add(created)

您应该使用 value,这是创建的对象:

value, created = MyModel.objects.get_or_create(field1=field1, field2=field2)
if created:
     another_model_obj.manytomanyfield.add(<b>value</b>)  # ← use value

.get_or_create(…) [Django-doc]方法returns一个二元组:

Returns a tuple of (object, created), where object is the retrieved or created object and created is a boolean specifying whether a new object was created.

所以第一行“unpacks”将二元组分成两个变量valuecreated,其中value是对象要么获得(如果它已经存在),要么创建(如果它还不存在)。