我有一个名为object的属性,其中包含一些值,我需要设置其中一个值,即外键的id。我解析这些值并使用setattr()
函数,但出现以下错误:
File "/home/hezardastan/.pyenv/versions/bepa2/lib/python3.7/site-packages/django/db/models/fields/related_descriptors.py", line 219, in __set__
self.field.remote_field.model._meta.object_name,
ValueError: Cannot assign "'259fe104-cb7f-4cc7-b32f-4bf4d39038ed'": "Rule.workspace" must be a "Workspace" instance.
如果我发送的是对象而不是pk,我会得到以下错误:
File "/home/hezardastan/Desktop/work/bepa2/bepa2/src/rbac/models.py", line 100, in object
setattr(self, k, v)
File "/home/hezardastan/.pyenv/versions/bepa2/lib/python3.7/site-packages/django/db/models/fields/related_descriptors.py", line 223, in __set__
if instance._state.db is None:
AttributeError: 'Rule' object has no attribute '_state'
这是我的setter,workspace是一个外键,也是parse\u rri返回的dict的键值之一:
@object.setter
def object(self, value):
for k, v in self.parse_rri(value).items():
setattr(self, k, v)
目前没有回答
相关问题 更多 >
编程相关推荐