在我的django项目中,我有两个模型
类别和另一个是铅
类别是我正在使用的第三方应用程序的模型。
class CustomerLeads(models.Model):
customer_name = models.CharField(max_length=50,null=True, blank=True)
item_required = models.ForeignKey(Category,null=True, blank=True)
views.py:
if request.method == 'POST':
name = request.POST['customername']
item = request.POST['item']
customer_lead_obj = CustomerLeads.objects.create(customer_name = name)
customer_lead_obj.item_required = item
customer_lead_obj.save()
当我想保存时,错误会出现:
Cannot assign "u'Saari'": "CustomerLeads.item_required" must be a "Category" instance.
在这里,萨里是我发布表格时得到的值。
很明显,request.POST['item']
不是Category
实例,您需要基于request.POST['item']
您可以做:
item = request.POST['item']
cat = Category.objects.get(item=item) # if Category has item field
现在,您可以这样使用cat
:
customer_lead_obj.item_required = cat
如果item
不是唯一的,则需要传递可以使用的属性来识别类别。而不是item
,您可以通过cat_id
,例如:
cat_id = request.POST['cat_id']
cat = Category.objects.get(id=cat_id) # or (pk=cat_id)
# ...
customer_lead_obj.item_required = cat