【问题标题】:How to post foreign key id only once in Django如何在Django中只发布一次外键ID
【发布时间】:2022-01-24 07:06:15
【问题描述】:
class Department(models.Model):
    name = models.CharField(max_length=50)

class Employee(models.Model):
    name = models.CharField(max_length=100)
    age = models.IntegerField()
    department = models.ForeignKey(
        Department, 
        on_delete=models.CASCADE
    )

我真的很想知道如何做到这一点。假设有 id 为 1、2、3 的三个部门。所以在员工模型中,如果我发布了一些名称为 abc 和部门 1 的员工。因此,下次如果我尝试为另一名员工发布 1 相同的部门 ID。我不应该那样做。由于外键,我相信验证此字段不起作用。那么如何实现这一点。任何帮助将非常感激。谢谢!!

【问题讨论】:

    标签: python django


    【解决方案1】:

    您正在寻找一对一的关系。这样一来,部门和员工的组合将只存在一种。

    department = models.OneToOneField(Department, on_delete=models.CASCADE)
    

    这里有更多信息:https://docs.djangoproject.com/en/3.2/topics/db/examples/one_to_one/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-10-20
      • 1970-01-01
      • 1970-01-01
      • 2020-07-15
      • 1970-01-01
      • 2021-12-09
      • 1970-01-01
      相关资源
      最近更新 更多