我尝试将AJAX请求中的字符串与数据库中的数据(名称)进行比较,但我的查询集不起作用:
def create_name(request):
if request.method == 'POST':
name = request.POST['name']
for i in Name.objects.all():
if i.name != name:
Name.objects.create(
name=name,
)
return HttpResponse(status=200)
控制台:
In [3]: for e in Name.objects.all()
...: print(e.name)
Michael
Jack
Chris
比较不起作用,名称将存储在我的数据库中。
名称应该是唯一的。 提前谢谢!
答案 0 :(得分:0)
根据您当前的逻辑,您为除了当前帖子名称之外的所有其他行创建新实例,您可以尝试get_or_create
def create_name(request):
if request.method == 'POST':
name = request.POST.get('name')
obj, created = Name.objects.get_or_create(name=name)
if created:
return HttpResponse(status=201)
return HttpResponse(status=200)
此处有更多详情get-or-create