我有以下型号:
class Catalogue(Base):
name = models.CharField(max_length=60)
params = models.ForeignKey("Params", related_name="params_item", null=True, blank=True)
class Params(Base):
name = models.CharField(max_length=60)
但是当我这样做时:
Params.objects.create(params_item=object_cat, name="Test")
我收到错误:
params_item'是此函数的无效关键字参数
为什么我不能使用反向关系名来设置它?
答案 0 :(得分:2)
你不能这样做,这不是你如何使用反向关系。你必须这样做而不是
...
param = Params(name='Some Param')
param.save()
catalog = Catalog(name='Some Catalog')
catalog.params = param
catalog.save()
然后您使用反向关系来查询与之相关的目录列表,如此
catalogs = param.params_item.all()
答案 1 :(得分:1)
反向关系可用于查询相关项目,但您无法在尝试时使用它来设置对象。
您需要创建参数,然后更新相关对象。
params = Params.objects.create(name="Test")
object_cat.params = params
object_cat.save()