gpt4 book ai didi

mysql - Django:使用未定义关系的预制 mysql 数据库

转载 作者:行者123 更新时间:2023-11-29 17:35:59 24 4
gpt4 key购买 nike

我有一个 mysql 数据库,其中包含数据,但没有定义关系。我想要的是在 Django 项目中使用这个数据库,并且我希望它定义了关系。有些字段应该是外键,但被定义为整数字段。所以基本上我想将它们更改为foreignKeys。

我有:

company_id = models.IntegerField(blank=True, null=True)

我想要什么:

company_id = models.ForeignKey('Company', on_delete=models.CASCADE)


class Inquiry(models.Model):
id = models.AutoField()
company_id = models.IntegerField(blank=True, null=True)

class Meta:
managed = False
db_table = 'inquiry'

我正在尝试:

class Inquiry(models.Model):
id = models.AutoField()
company_id=models.ForeignKey('Company',on_delete=models.CASCADE,null=True)
class Meta:
managed = True
db_table = 'inquiry'

最佳答案

来自 django 文档 related_name :

The name to use for the relation from the related object back to this one. It’s also the default value for related_query_name (the name to use for the reverse filter name from the target model).

在您所拥有的场景中,添加 Company 模型,然后在查询模型 ForeignKey 中,指定具有要链接的 Company 属性的 lated_name 字段名称。

class Company(models.Model):
id = models.AutoField()
...

class Inquiry(models.Model):
id = models.AutoField()
company_id=models.ForeignKey(to=Company, related_name="id", null=True, blank=True)
class Meta:
managed = True
db_table = 'inquiry'

关于mysql - Django:使用未定义关系的预制 mysql 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50285855/

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