gpt4 book ai didi

python - Django model.py models.ForeignKey()

转载 作者:行者123 更新时间:2023-11-30 22:21:17 24 4
gpt4 key购买 nike

我是 Django 框架的新手,对模型有点困惑。

当model.py中的“类”时,我可以将其理解为数据库中的“表”吗?比如下面的代码中,“Test”、“Contact”、“Tag”都是Django使用的数据库中的表?

from django.db import models

class Test(models.Model):
name = models.CharField(max_length=20)

class Contact(models.Model):
name = models.CharField(max_length=200)
age = models.IntegerField(default=0)
email = models.EmailField()
def __unicode__(self):
return self.name

class Tag(models.Model):
contact = models.ForeignKey(Contact)
name = models.CharField(max_length=50)
def __unicode__(self):
return self.name

Tag类中,使用的是models.ForeignKey(Contact),根据我的理解,外键应该建立在表的某一特定列上,但是为什么ForeignKey直接建立在一个表上,即表Contact上呢?

非常感谢任何指导。

最佳答案

只有当它扩展 models.Model 类时,您才能将您的类理解为数据库中的表。

这成为一个表格:

class Order(models.Model):
pass

这不会成为模型:

class SomeHelper():
....

对于ForeignKey,它会自动绑定(bind)到另一个模型的主键。您可以通过在外键中设置 to_field 来更改它,但默认值为 pk:

models.ForeignKey(Bar, to_field='non-pk-field')

关于python - Django model.py models.ForeignKey(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48678868/

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