问题描述
我不需要嵌套的创建/更新操作。我只想将创建的对象的pk
写入FK / M2M字段,并在创建主要对象后从该FK / M2M字段获取对象。不是它的主键。
例如,我得到了ValueRel
和Value
模型。它们是如何关联的:
class ValueRel(BaseModel):
table = models.ForeignKey(
Table,on_delete=models.PROTECT,)
object_id = models.CharField(max_length=36)
@property
def related_object(self):
related_model = self.table.get_model()
related_object = related_model.objects.filter(pk=self.object_id).first()
return related_object
class Value(BaseModel):
profile = models.ForeignKey(
Profile,on_delete=models.SET_NULL,blank=True,null=True,related_name="app_values",)
# I want to write into this field `pk` and get its object
value_rel = models.ManyToManyField(
ValueRel,related_name="values",)
...
在创建ValueRel
的实例并将其写入value_rel
的实例的Value
之后,我想获得ValueRel
的实例,如object。
实际结果(来自API的JSON响应)
"value_rel": [
"6a740343-0d37-4e6b-ba56-0c60ac51477f"
]
期待这个:
"value_rel": [
{
"pk": "6a740343-0d37-4e6b-ba56-0c60ac51477f"
"table": "Speciality","object_id": "02548144-a27d-4c17-a90b-334ccf9e1892","related_object": "Information system"
}
]
有没有一种方法不只是为了预期的对象表示而添加另一个字段,而是从value_rel
中获取它?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)