gpt4 book ai didi

python - django 模型中的一对多关系

转载 作者:太空宇宙 更新时间:2023-11-03 12:53:56 24 4
gpt4 key购买 nike

假设一个城市有多家公司。

 city1:{
company1: [phone1, email1]
company2: [phone1, email2, phone3]
}

每个公司可以有一个或多个电话、邮箱。

我想将公司信息存储为

  < city1, company1:[phone1, email1] >
< city1, company2:[phone1, email2, phone3] >

我试过了

class City(models.Model):
name = models.CharField(max_length=200, blank=True, null=True)


class CompanyDetails(models.Model):
com_name = models.ForeignKey(City)
email = models.EmailField(max_length=100, blank=True, null=True)
mobile_number = models.CharField(max_length=10, blank=True, null=True)

因为一家公司可以有不止一个电话或电子邮件,我该如何定义呢?有什么建议。

最佳答案

City 可以有多个 CompanyDetails 的方式完全相同:将它们放在一个单独的表中。

class City(models.Model):
name = models.CharField(max_length=200, blank=True, null=True)


class CompanyDetails(models.Model):
com_name = models.ForeignKey(City)


class CompanyEmail(models.Model):
company = models.ForeignKey(CompanyDetails)
email = models.EmailField(max_length=100, blank=True, null=True)


# And similar for phone numbers

或者,如果您只使用 PostgreSQL,请查看 ArrayField .

关于python - django 模型中的一对多关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50530059/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com