【问题标题】:How to use particular field of a model into another model, like I want to use sku as a foreign key in next model?如何将模型的特定字段用于另一个模型,例如我想在下一个模型中使用 sku 作为外键?
【发布时间】:2022-09-23 21:58:29
【问题描述】:
class Product(models.Model):
    price=models.IntegerField()
    no=models.IntegerField(default=0,null=True)
    sku= models.CharField(max_length=100,default=0,null=True )

#这里我想用sku作为外键导入另一个模型

  • 在这种情况下,sku 必须是唯一的,并且不可为空,否则它无法正确引用产品。
  • @WillemVanOnsem 但我想知道使 sku 独一无二之后的方式。

标签: django-models django-rest-framework


【解决方案1】:

在这种情况下,sku 必须是唯一的,并且不可为空,否则它无法正确引用产品,因此:

class Product(models.Model):
    price = models.IntegerField()
    no = models.IntegerField(default=0, null=True)
    sku = models.CharField(max_length=100, unique=True)

然后您可以使用to_field=… parameter [Django-doc]

class Order(models.Model):
    product = models.ForeignKey(Product, to_field='sku', on_delete=models.CASCADE)

然后,如果您使用my_order.product_id,它将包含它所指产品的sku

【讨论】:

    猜你喜欢
    • 2012-05-20
    • 2021-01-27
    • 2010-10-18
    • 2018-04-14
    • 1970-01-01
    • 2022-01-15
    • 1970-01-01
    • 2021-04-29
    • 2017-08-30
    相关资源
    最近更新 更多