I don't need nested create/update operations. I just want to write pk
of created object to FK/M2M field and after creating main object get object from this FK/M2M field. Not its primary key.
For instance, I got ValueRel
and Value
models. This is how they are related:
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,
blank=True,
related_name="values",
)
...
After creating ValueRel
's instance and writing it to value_rel
of Value
's instance I want to get ValueRel
's instance like object.
Actual result (JSON response from API)
"value_rel": [
"6a740343-0d37-4e6b-ba56-0c60ac51477f"
]
Expecting this:
"value_rel": [
{
"pk": "6a740343-0d37-4e6b-ba56-0c60ac51477f"
"table": "Speciality",
"object_id": "02548144-a27d-4c17-a90b-334ccf9e1892",
"related_object": "Information system"
}
]
Is there a way not to adding another field just for expected object representation and get it from value_rel
?