表和表之间可以存在关系,最多的是一对多的关系。
外键字段:
models.ForeignKey("UserGroup", to_field='uid', defualt=1) # 后面的to_field不加也可以,默认用的就是主键。default也可以不写。
示例:
class UserGroup(models.Model):
uid = models.Auto(primary_key=True)
title=models.CharField(max_length=32,unique=True)
class UserInfo(models.Model):
username=models.CharField(max_length=32)
user_group = models.ForeignKey("UserGroup", to_field="uid", default=1)
注意:虽然models.py类中是属性user_group,但是在表中实际生成的字段是user_group
:
需要注意这个ForeignKey的user_group是一个对象,而不是一个简单的基本字段。
我们可以:
user_list = models.UserInfo.objects.all()
for row in user_list:
print( row.user_group.uid, row.user_group.title)