什么是_ in:“member,_ = Member.objects.get_or_create(name = self.name)”

时间:2013-09-12 18:53:57

标签: python django django-models

我正在尝试理解与这个好答案相关的代码:Can I use JSON data to add new objects in Django?

具体来说,我想知道下面方法中的_含义。

def save(self, *args, **kwargs):

    member, _ = Member.objects.get_or_create(name = self.name)
    # can update member here with other fields that relate to them
    self.member = member
    super(Data, self).save(*args, **kwargs)

谢谢!

2 个答案:

答案 0 :(得分:3)

get_or_create()返回一个带有Model实例和created布尔标志的元组。

_只是一个“特殊变量名”,在python中用于一次性变量的约定,请参阅What is the purpose of the single underscore "_" variable in Python?

如果您愿意,可以使用member = Member.objects.get_or_create(name = self.name)[0]

答案 1 :(得分:1)

(在这种情况下)它只是一种常见的方式来表示我们不关心第二个返回变量member

但是在shell中它有不同的用途(最后一次操作的结果)

>>> 5 + 7
>>> print _
12

并且它经常用于翻译和本地化以处理应翻译的字符串

translated = _("some text to be translated")