Django 反向关系名称给出无效关键字参数错误
Django reverse relationship name gives invalid keyword argument error
我有以下型号:
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' 是此函数的无效关键字参数
为什么我不能用反向关系名来设置这个?
反向关系可用于查询相关项,但您无法使用它来设置对象。
您需要创建参数,然后更新相关对象。
params = Params.objects.create(name="Test")
object_cat.params = params
object_cat.save()
你不能这样做,那不是你使用反向关系的方式。你必须这样做
...
param = Params(name='Some Param')
param.save()
catalog = Catalog(name='Some Catalog')
catalog.params = param
catalog.save()
然后你就可以像这样使用反向关系查询与其相关的目录列表
catalogs = param.params_item.all()
我有以下型号:
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' 是此函数的无效关键字参数
为什么我不能用反向关系名来设置这个?
反向关系可用于查询相关项,但您无法使用它来设置对象。
您需要创建参数,然后更新相关对象。
params = Params.objects.create(name="Test")
object_cat.params = params
object_cat.save()
你不能这样做,那不是你使用反向关系的方式。你必须这样做
...
param = Params(name='Some Param')
param.save()
catalog = Catalog(name='Some Catalog')
catalog.params = param
catalog.save()
然后你就可以像这样使用反向关系查询与其相关的目录列表
catalogs = param.params_item.all()