<XXX> 需要为字段 xxx 赋值才能使用此多对多关系
<XXX> needs to have a value for field xxx before this many-to-many relationship can be used
我目前有以下3款
class modelToolName(models.Model):
tool_name = models.CharField(max_length=250,unique=True)
class modelBodyPart(models.Model):
part_name = models.CharField(max_length=128,unique=True)
class modelNormalBodyPartResult(models.Model):
body_part = models.ForeignKey(modelBodyPart, default=None)
tool_name = models.ManyToManyField(modelToolName, default=None, blank=True)
result = models.TextField(blank=True, null=True)
现在我正尝试以这种方式将值插入 modelNormalBodyPartResult
result="xxxx"
bodpart = modelBodyPart.objects.get(part_name="xxx") #--->returns object fine
toolqset = modelToolName.objects.get(tool_name="xxx")#--->returns object fine
modelNormalBodyPartResult.objects.create(body_part=bodpart,tool_name = toolqset,result=result) --->error
我收到错误
<modelNormalBodyPartResult: modelNormalBodyPartResult object> needs to have a value for field "modelnormalbodypartresult" before this many-to-many relationship can be used.
我查看了 this post,但仍然无法解决问题。如有任何建议,我们将不胜感激。
您必须先创建一个对象,然后将ManyToMany
个相关对象添加到其中,
result="xxxx"
bodpart = modelBodyPart.objects.get(part_name="xxx")
toolqset = modelToolName.objects.get(tool_name="xxx")
item = modelNormalBodyPartResult.objects.create(body_part=bodpart,result=result)
item.tool_name.add(toolqset)
item.save()
我目前有以下3款
class modelToolName(models.Model):
tool_name = models.CharField(max_length=250,unique=True)
class modelBodyPart(models.Model):
part_name = models.CharField(max_length=128,unique=True)
class modelNormalBodyPartResult(models.Model):
body_part = models.ForeignKey(modelBodyPart, default=None)
tool_name = models.ManyToManyField(modelToolName, default=None, blank=True)
result = models.TextField(blank=True, null=True)
现在我正尝试以这种方式将值插入 modelNormalBodyPartResult
result="xxxx"
bodpart = modelBodyPart.objects.get(part_name="xxx") #--->returns object fine
toolqset = modelToolName.objects.get(tool_name="xxx")#--->returns object fine
modelNormalBodyPartResult.objects.create(body_part=bodpart,tool_name = toolqset,result=result) --->error
我收到错误
<modelNormalBodyPartResult: modelNormalBodyPartResult object> needs to have a value for field "modelnormalbodypartresult" before this many-to-many relationship can be used.
我查看了 this post,但仍然无法解决问题。如有任何建议,我们将不胜感激。
您必须先创建一个对象,然后将ManyToMany
个相关对象添加到其中,
result="xxxx"
bodpart = modelBodyPart.objects.get(part_name="xxx")
toolqset = modelToolName.objects.get(tool_name="xxx")
item = modelNormalBodyPartResult.objects.create(body_part=bodpart,result=result)
item.tool_name.add(toolqset)
item.save()