如何在Django中直接为OneToOne关系创建模型

时间:2018-08-02 14:04:20

标签: django django-models

据我了解,经过一些配置,我可以在Django Shell和管理面板中创建Items。 但是我想要的是每次创建“项目”时都直接创建的“项目”的“子项目”。

情况如何:

项目是通过管理员创建的,需要手动创建“ Upvote”和“ Downvote”子项目。
如何更改Django以直接为我创建Upvote和Downvote?

谢谢!

2 个答案:

答案 0 :(得分:1)

我没有在每次创建Item时都添加和创建子项,而是添加了“ Downvotes”作为IntegerField。

答案 1 :(得分:0)

创建模型时只需提及它。 假设您有一个这样的Item模型-

class Item(models.Model):
    item_title = models.CharField(blank=True, null=True)

然后如果您想要一对一的字段,则代码将类似于

class SubItem(models.Model):
    item = models.OneToOneField(Item, on_delete=models.CASCADE)

在创建Item时将创建子项。要访问它,您可以直接使用点符号来访问。假设您有一个SubItem对象sub_item_obj,则相应的子项目为sub_item_obj.item