如果创建一个对象而不保存,则“ related_name”有效吗?

时间:2019-04-02 11:32:10

标签: django orm

我有2个与ForeignKey相关的Django模型。因此,我可以创建一个父对象和不同的子对象。我无法保存对象,但需要获取“ related_name”。我该怎么办?

# create objects
parent = ParentModel(**serializer_in.validated_data)
child = ChildModel(**serializer_in.validated_data)

# relate objects
child.parent_field = parent

# try get childs
print(parent.child_set.all()) # is empty. why?

我的related_name得到一个空的查询集。为什么?

1 个答案:

答案 0 :(得分:1)

为此,您需要在添加child之后如下保存您的parent_field模型。

对于一个实例

# create objects
parent = ParentModel(**serializer_in.validated_data)
child = ChildModel(**serializer_in.validated_data)

# relate objects
child.parent_field = parent
child.save() # Save your object

# try get childs
print(parent.child_set.all())

我希望这对您有用。