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