Django。对于一对多关系,我应该使用ForeignKey还是额外的交叉表?

31 浏览
0 Comments

Django。对于一对多关系,我应该使用ForeignKey还是额外的交叉表?

我知道这个问题之前已经提问过,但是那个问题对于我的问题没有简洁的答案。在看到两个例子来实现OneToManyRelation之后,我有点困惑。

在我的例子中:

class Product(BaseModel):
    name = models.CharField(max_length=255)
class Advantages(BaseModel):
    title = models.CharField(max_length=255)
    product = models.ForeignKey(Product, CASCADE)

不同的产品可以有许多与之相关的优势,所以我使用了ForeignKey来实现这个功能,但是在这里我看到也可以使用交叉表关系来实现OneToManyRelation

categories & sub categories with many to many relationship

class ProductAdvantage(BaseModel):
    title = models.CharField(max_length=255)
    product = models.ForeignKey(Product, CASCADE)

哪种是实现OneToManyRelation的最佳实践?一个产品可以有许多优势

谢谢回答。

0