django - 检查对象是否已存在于 manytomany 字段中
问题描述
如果客户已经存在于客户的多对多字段中,我正在尝试给出“已经存在”的状态
查看类:
class CustomerAddition(View):
def get(self, request, business_id, user_id):
current_business = Business.objects.get(pk=business_id)
customer = User.objects.get(pk=user_id)
new_customer, created = Customers.objects.get_or_create(business_id_id = business_id)
new_customer.save()
list_of_customers = Customers.objects.get(business_id_id = business_id).customers.all()
for value in list_of_customers:
print(value)
if value == User.objects.get(pk=user_id).name:
return JsonResponse({"Status":"Already Exists"})
new_customer.customers.add(customer)
new_customer.save()
return JsonResponse({"Status":"Success"})
模型:
class Customers(models.Model):
customers = models.ManyToManyField('User')
business_id = models.ForeignKey(Business, on_delete = models.CASCADE, related_name='owner')
def __str__(self):
return 1
每当我与同一个客户调用 API 时,它总是给出“成功”状态
打印(值)结果:
Sagar Aggarwal
Kartik Luthra
解决方案
您正在将User
object 与User
的名称(字符串)进行比较。
value == User.objects.get(pk=user_id).name
这将永远失败。试试这个:
value.name == User.objects.get(pk=user_id).name
推荐阅读
- oauth - 如何为 Snapchat API 传递 code_challenge 和 code_verifier
- c++ - 我可以在 C++ 中使用非 ASCII 字符创建变量名吗?
- javascript - VueJS 使用了对象分配,但该对象中的数组仍然跟踪更改
- linux - PAM http 模块允许使用 http 请求登录
- sql - 存储过程不返回结果
- python - Django - 上传带有附加信息的图像
- c# - 当日期值超出给定日期时如何更新数据列
- python-3.x - 从一系列步骤中计算谷值,其中每个步骤是“U”或“D”。这个解决方案的时间复杂度是多少?
- latex - Latex - 如何使系统方程加粗?(系统)
- reactjs - 找不到 webpack 模块:错误:无法解析类名