【问题标题】:Which way shall I use foreign key in Django我应该在 Django 中以哪种方式使用外键
【发布时间】:2020-08-08 15:15:27
【问题描述】:

我有两个模型,Employee 和 Withdraw。我应该以哪种方式进行引用? 像这样,由于 Employee 有 0-many 提现,

class Withdraw(models.Model):
    amount = models.IntegerField(default=0)

class Employee(models.Model):
    name = models.CharField(max_length=200)
    withdraw = models.ForeignKey(Withdraw, on_delete=models.CASCADE, null=True, blank=True)

class Withdraw(models.Model):
    amount = models.IntegerField(default=0)
    employee = models.ForeignKey(Employee, on_delete=models.CASCADE)

class Employee(models.Model):
    name = models.CharField(max_length=200)

有什么优点/缺点?你会用哪个?

【问题讨论】:

    标签: python sql django model


    【解决方案1】:

    第二个,因为Withdraw需要一个员工,而Employee不需要一个withdraw。

    【讨论】:

    • 这话没错,但更重要的原因是每次提款仅来自一名员工,但每个员工大概可以多次提款。
    猜你喜欢
    • 1970-01-01
    • 2021-12-07
    • 2012-01-03
    • 2016-12-14
    • 1970-01-01
    • 1970-01-01
    • 2014-10-10
    • 2013-02-14
    • 2014-04-19
    相关资源
    最近更新 更多