首页 > 解决方案 > 如何在 django 中使用 id 作为外键?

问题描述

假设我需要创建这 2 个模型。1. 使用字段名称、描述、价格制作产品模型 2. 使用 ProductID(外键参考)、名称、描述、价格、数量制作库存模型。现在我的问题是如何我可以将 id 作为从 Product 到 Stock 模型的外键吗?

标签: djangopython-3.x

解决方案


您可以将其标记ForeignKeyprimary_key=True[Django-doc]

class Product(models.Model):
    name = models.CharField(max_length=100)
    description = models.CharField(max_length=4096)
    price = models.DecimalField(max_digits=15, decimal_places=2)

class Stock(models.Model):
    product = models.OneToOneField(
        Product,
        primary_key=True,
        on_delete=models.CASCADE
    )
    name = models.CharField(max_length=100)
    description = models.CharField(max_length=4096)
    price = models.DecimalField(max_digits=15, decimal_places=2)
    quantity = models.IntegerField()

由于这是主键,因此这是一个唯一字段。因此,您不能创建两个或多个Stock引用相同 Product的对象。


推荐阅读