【发布时间】:2018-02-17 15:52:27
【问题描述】:
我在get_or_create 调用中使用icontains 得到了意外的结果。
举个例子:
>>>team_name = "Bears"
>>>Team.objects.get(name__icontains=team_name) # returns DoesNotExist as expected
>>>team, created = Team.objects.get_or_create(name__icontains=team_name)
>>>print(created) # Prints True as expected
>>>print(team.name) # Prints an empty string!
为什么这会创建一个名称为空而不是“Bears”的团队?我在这里使用get_or_create 的原因是,如果后续用户发布类似"BearS" 的内容,我希望获得正确的团队,而不是创建大小写错误的重复团队。
【问题讨论】:
标签: django