Python Django>;表格>;_是唯一的()

Python Django>;表格>;_是唯一的(),python,django,Python,Django,我的一张表格上有以下内容: def is_unique(self,item): ln = self.cleaned_data['letter_name'] # checking for duplicate letter names if (Letter.objects.filter(item=item,letter_name=ln)): return False else: return True 有没有办法让我有一个make_u

我的一张表格上有以下内容:

def is_unique(self,item):
    ln = self.cleaned_data['letter_name']
    # checking for duplicate letter names
    if (Letter.objects.filter(item=item,letter_name=ln)):
        return False
    else:
        return True

有没有办法让我有一个
make_unique()
函数,可以像现在一样检查名称,但是如果存在
字母名称的示例,它会标记一个
\u n
\n
=
\u 01
\u 02
\u 03
)在
letter\u name

的末尾,如果从is\u unique函数调用该函数,则该函数应该可以工作。当它被调用时,我们已经知道至少有一个字母的名称。然后,我们检查标记名开头的标记和通过startswith筛选创建的
中有多少个字母\u name(我想这只适用于
不在未更改的字母\u头中的情况)


startswith区分大小写,如果要使用不区分大小写的,请使用istartswith。

如果从is_unique函数调用此函数,则此函数应该可以工作。当它被调用时,我们已经知道至少有一个字母的名称。然后,我们检查标记名开头的标记和通过startswith筛选创建的
中有多少个字母\u name(我想这只适用于
不在未更改的字母\u头中的情况)


startswith区分大小写,如果要使用不区分大小写的,请使用istartswith。

我没有想到将
if
的内容用作计数器我没有想到将
if
的内容用作计数器
def make_unique(self, item, ln):
    ln_count = Letter.objects.filter(item=item, letter__startswith=ln+'_').count() + 1
    unique_ln = "{ln}_{count}".format(ln = ln, count = ln_count)
    return unique_ln